# 介绍
# 比较 JDK 8 之前日期对象
JDK 8 之前 | JDK 8 之后 |
---|---|
设计不合理,使用不方便,很多都被淘汰了。 | 设计更合理,功能丰富,使用更方便。 |
都是可变对象,修改后会丢失最开始的时间信息。 | 都是不可变对象,修改后会返回新的时间对象,不会丢失最开始的时间。 |
线程不安全。 | 线程安全。 |
只能精确到毫秒。 | 能精确到毫秒、纳秒。 |
# JDK 8 之后推荐的日期对象
# 代替Calendar
- LocalDate:年、月、日
- LocalTime:时、分、秒
- LocalDateTime:年、月、日时、分、秒
- ZoneId:时区
- ZonedDateTime:带时区的时间
# 代替Date
- Instant:时间戳/时间线
# 代替SimpleDateFormat
- DateTimeFormatter:用于时间的格式化和解析
# 其他补充
- Period:时间间隔(年,月,日)
- Duration:时间间隔(时、分、秒,纳秒)