个人理解:
关于Date类,进行截取或者转换时一定要注意好数据类型,long类型后面要加上L。时间的原点是1970年。用DateFormat则完成日期与文本之间的转换,特别注意的是:月是用M,时是用H,其他常用的一般都小写。关于Calendar类,因为其实静态的,需要用类名也就是Calendar进行调用其方法。
一、Date类:
1、概述:
类 Date 表示特定的瞬间,精确到毫秒;
时间的原点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0;
System.currentTimeMillis() 返回值long类型参数,用于获取当前日期的毫秒值。
2、构造方法:
3、常用方法:
getTime():返回自原点以来此Date对象表示的Long类型的毫秒数;
二、DateFormat 类:
1、概述:
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat类)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。
我们通过这个类可以帮我们完成日期和文本之间的转换。
2、构造方法:
SimpleDateFormat(String pattern) :用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat;
3、DateFormat 类方法:
format(Date date)将一个Date格式化为日期/时间字符串。String类型
DateFormat类的作用:即可以将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转为一个Date对象。
parse(String source) 从给定的字符串开始解析文本,生成一个日期。 Date类型 (转换时,该String要符合指定格式,否则不能转换)。
三、Calendar类:
1、概念:
Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。
Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象。
2、方法:
3、注意事项:
西方星期的开始为周日,中国为周一。
在Calendar类中,月份的表示是以0-11代表1-12月。
日期是有大小关系的,时间靠后,时间越大。
例如:求出自己已经出生多少天
public static void main(String[] args) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date bir = sdf.parse("yyyy-MM-dd");
long time = bir.getTime();
System.out.println(time);
Date d = new Date();
long time1 = d.getTime();
System.out.println(time1);
System.out.println((time1-time)/1000/3600/24);
}