在这里只说明个人感觉编程常用到的一些知识点,用于备忘,具体关于Java日期时间的可以参考http://www.runoob.com/java/java-date-time.html 觉得总结的挺好的
Java日期时间获取
Java关于获取日期时间,有很多种方法,这里只介绍其中常见的几种。
- Date类获取系统时间
- 使用SimpleDateFormat格式化日期时间
- Calendar获取系统时间
Date类获取系统时间
Date date=new Date(); //使用当前日期和时间来初始化对象
String dateStr=date.toString(); //将时间日期转变成字符串
Date类进行日期比较
- 使用 Date类的getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
- 使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
- 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。
Date类常用方法截图
使用SimpleDateFormat格式化日期时间
SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。
时间模式字符串用来指定时间格式。在此模式中,所有的 ASCII 字母被保留为模式字母
import java.util.*;
import java.text.*;
public class DateDemo {
public static void main(String args[]) {
Date dNow = new Date( );
SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.println("Current Date: " + ft.format(dNow));
}
}
日期和时间格式化编码
解析字符串为时间
SimpleDateFormat 类有一些附加的方法,特别是parse(),它试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串。
import java.util.*;
import java.text.*;
public class DateDemo {
public static void main(String args[]) {
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd");
String input = args.length == 0 ? "1818-11-11" : args[0];
System.out.print(input + " Parses as ");
Date t;
try {
t = ft.parse(input);
System.out.println(t);
} catch (ParseException e) {
System.out.println("Unparseable using " + ft);
}
}
}
Canlendar类
在新的JavaAPI中,Date类的许多方法已经过时,更多的是采用Calendar类来实现对日期时间的操作和修改(增减等)。
Calendar c = Calendar.getInstance(); //默认是当前日期
Calendar类对象字段类型重点内容
Calendar类中用以下这些常量表示不同的意义,jdk内的很多类其实都是采用的这种思想
Calendar可以利用字段类型来设置和修改时间
Calendar c1=Calendar.getInstance(); //默认是当前时间
c1.set(Calendar.DATE,10); //设置日期为10号
c1.add(Calendar.DATE,10); //日期+10天,会刷新其他位置的时间
c1.add(Calendar.DATE,-10); //日期-10天,会刷新其他位置的时间