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