Java8 日期时间API - Java8教程

使用Java8,新的日期时间API引入覆盖旧的日期时间API的以下缺点。

  • 非线程安全 - java.util.Date不是线程安全的,因此开发者必须在使用日期处理并发性问题。新的日期时间API是不可变的,并且没有setter方法。

  • 设计不佳 - 默认的开始日期从1900年,开始每月从1天从0开始,所以没有统一。不直接使用方法操作日期。新的API提供了这样操作实用方法。

  • 困难的时区处理 - 开发人员必须编写大量的代码来处理时区的问题。新的API设计开发保持特定领域设计。

JAVA8引入了java.time包 - 下一个新的日期时间API。以下是一些在java.time程序包引入重要的类。

  • 本地 - 简化日期时间API,没有时间处理区的复杂性。

  • 时区 - 专业的日期时间API来处理各种时区。

SN 使用描述方法
1 本地日期时间API LocalDate/本地时间和LocalDateTime类简化时区不需要开发。
2 时区日期时间API 时区日期时间API使用的时区是需要考虑的。
3 计时单位枚举 java.time.temporal.ChronoUnit枚举在Java8添加,以取代旧的API用来代表日,月等整数值
4 周期和持续时间 这些类引入到处理时间的差异。
5 时间调节器 TemporalAdjuster是做数学日期。例如,要获得“本月第二个星期六”或“下周二”。
6 向后兼容性 toInstant()方法被添加到可用于将它们转换到新的日期时间的API原始日期和日历对象。