日期类详解
第一代日期类
- Date : 精确到毫秒,代表特定的瞬间
- SimpleDateFormat格式化和解析日期的具体类,它允许进行格式化(日期 ->文本),解析(文本 - > 日期)和规范化
第二代日期类
- 主要为Calendar(日历)
- Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR,MONTH,DAY_OF_MONTH,HOUR等日历字段之间提供了一些方法,并为操作日历字段提供了一些方法
第三代日期类
前面两代不足分析
- JDK1.0中包含了一个java.util.Date类,但是它的大多数方法已经再JDK1.1引入,Calendar类之后被弃用了,而calendar也存在问题
- 可变性:像日期和时间这样的类应该是不可变的
- 偏移性:Date中的年份是从1900开始的,而月份都从0开始
- 格式化:格式化只对Date有用,Calendar则不行
- 此外,他们不是线程安全的,不能处理闰秒(每隔两天多出一秒)
第三代
- LocalDate(年月日),LocalTime(时分秒),LocalDateTime(年月日时分秒)
- LocalDate只包含日期,可以获取日期字段
- LocalTime只包含时间,可以获取时间字段
- LocalDateTime包含日期加时间,可以获取日期和时间字段
- 使用now()返回表示当前日期时间的对象
- 使用DateTimeFormatter对象来进行格式化
- 提供plus和minus方法对当前时间进行加后者减
第三代日期类更多方法
- LocalDateTime类
- MonthDay类,检查重复事件
- 是否为闰年
- 使用plus方法测试增加时间的某个部分
- 使用minus方法测试查看一年前和一年后的日期
日期类详解
原文:https://www.cnblogs.com/mx-info/p/14878526.html