目录
日期类
[知道怎么查,怎么用即可,不用每个方法都背]
第一代日期类
-
Date: 精确到毫秒,代表特定的瞬间
-
SimpleDateFormat: 格式和解析日期的类 SimpleDateFormat 格式化和解析日期的具体类。它允许进行格式化 (日期 ->文本)、 解析(文本 ->日期) 和规范化
第二代日期类
1)第二代日期类,主要就是Calendar类(日历)。
public abstract class Calendar extends object implements Serializable, Cloneable, Comparable<Calendar>
- Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、 MONTH、DAY_OF_MONTH、HOUR等 日历字段 之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
第三代日期类
>前面两代日期类的不足分析
JDK 1.0中包含了一个java.util.Date类,但是它的大多数方法已经在JDK 1.1引入 Calendar类之后被弃用了。
而Calendar也存在问题是:
-
可变性:像日期和时间这样的类应该是不可变的。
-
偏移性:Date中的年份是从1900开始的,而月份都从0开始。
-
格式化: 格式化只对Date有用,Calendar则不行。
-
此外,它们也不是线程安全的;不能处理闰秒等(每隔2天,多出1s)。
针对以上问题Java在jdk8加入了以下方法
- LocalDate(日期)、 LocalTime(时间)、 LocalDateTime(日期时间)JI
LocalDate 只包含日期,可以获取日期字段
LocalTime 只包含时间,可以获取时间字段
LocalDateTime 包含日期+时间, 可以获取日期和时间字段
jdk8的时间格式化
时间戳
第三代日期类更多方法
LocalDateTime类
MonthDay类:检查重复事件
是否是闰年
增加日期的某个部分
使用plus方法测试增加时间的某个部分
使用minus方法测试查看一年前和一年后的日期
(更多查看api手册)