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原始日期和日历对象。 |