本教程是针对JDK 8编写的。本页中描述的示例和实践不利用后续版本中引入的改进,并且可能使用已不再可用的技术。
有关Java SE 9及后续版本中更新的语言功能的摘要,请参阅Java语言变更。
有关所有JDK版本的新功能、增强功能以及已移除或不推荐使用的选项的信息,请参阅JDK发布说明。
日期时间包
日期时间API由主要包java.time和四个子包组成:
-
java.time
-
该API的核心部分,用于表示日期和时间。它包括用于日期、时间、日期和时间组合、时区、瞬间、持续时间和时钟的类。这些类基于ISO-8601定义的日历系统,是不可变和线程安全的。
-
java.time.chrono
-
用于表示除默认ISO-8601以外的其他日历系统的API。您还可以定义自己的日历系统。本教程不会详细介绍此包。
-
java.time.format
-
用于格式化和解析日期和时间的类。
-
java.time.temporal
-
扩展API,主要用于框架和库编写者,允许日期和时间类之间的互操作、查询和调整。字段(TemporalField和ChronoField)和单位(TemporalUnit和ChronoUnit)在此包中定义。
-
java.time.zone
-
支持时区、偏移量和时区规则的类。如果使用时区,大多数开发人员只需使用ZonedDateTime、ZoneId或ZoneOffset。