1.Date类
-
Date类在java.util包下,表示特定的瞬间,精确到毫秒,毫秒是千分之一秒。
-
毫秒的好处是可以对时间和日期进行计算,计算两个日期之间有多少天,可以先把日期转换为毫秒,计算两个毫秒值之间的差值,转换为天数。
-
时间原点(0毫秒):1970年1月1日 00:00:00(英国格林威治的标准时间),中国属于东八区,会把时间增加8个小时。
-
System.currentTimeMillis():获取当前系统时间到时间原点之间一共经历的毫秒值。
-
常用方法:long getTime():返回自时间原点以来,到当前系统时间的毫秒数,把日期转换为毫秒值。
2.DateFormat类
- DateFormat类是对日期进行格式化/对日期进行解析的抽象类,在java.text包下。
- 对日期进行格式化:日期->文本,对日期进行解析:文本->日期
- 常用方法:
- String format(Date):按照指定的模式,把Date日期格式化为符合模式的字符串;
- Date parse(String):把符合模式的字符串解析为Date日期。parse方法会抛出一个异常ParseException,如果字符串和构造方法的模式不一样,程序就会抛出此异常。调用了一个抛出异常的方法,就必须处理处理这个异常,要么throws继续抛出该异常,要么try catch自己处理该异常。
- DateFormat类是一个抽象类,无法直接创建对象使用,可以使用它的子类SimpleDateFormat类。
- SimpleDateFormat类在java.text包下,主要关注年(y)月(M)日(d)时(H)分(m)秒(s),例如:yyyy-MM-dd HH:mm:ss,注意:模式中的字母不能改变,但连接模式的符号可以改变,例如:yyyy年MM月dd日 HH时mm分ss秒。所有的模式如下:
3.Calendar类
- 常用方法:
- public int get(int field):返回给定日历字段的值;
- public void set(int field, int value):将给定的日历字段设置为给定的值,有重载方法set(int yearValue, int monthValue, int dayValue);
- public void abstract add(int field, int amout):根据日历的规则,为给定的日历字段添加或减去给定的时间量;
- public Date getTime():返回一个表示此Calendar时间值的Date对象,把日历转换为日期。
- 注意:
- field表示日历字段,可以用Calendar类的静态成员变量获取;
- 西方的月份是0-11,东方的月份是1-12;
- Calendar对象用getInstance()获取。