Java8 日期时间
Java8 日期时间
历史问题
类
类名 | 定义 | 说明 |
---|---|---|
LocalDate | 日期 | 只提供了简单的日期,并不含当天的时间信息 |
LocalTime | 时间 | 只提供了简单的时间,并不含当天的日期信息 |
LocalDateTime | 日期时间 | 提供日期和时间,不包含时区 |
Instant | 时间戳 | 表示一个日期时间的秒数 |
Duration | 时间差 | 计算差值,用于秒或纳秒粒度的计算 |
Period | 时间差 | 计算差值,用于年月日等粒度的计算 |
ZoneId | 时区 | 按照一定的规则将区域划分成的标准时间相同的区间 |
Java日期/时间API包
Java日期/时间API包含以下相应的包。
java.time包:这是新的Java日期/时间API的基础包,所有的主要基础类都是这个包的一部分,如:LocalDate, LocalTime, LocalDateTime, Instant, Period, Duration等等。所有这些类都是不可变的和线程安全的,在绝大多数情况下,这些类能够有效地处理一些公共的需求。
java.time.chrono包:这个包为非ISO的日历系统定义了一些泛化的API,我们可以扩展AbstractChronology类来创建自己的日历系统。
java.time.format包:这个包包含能够格式化和解析日期时间对象的类,在绝大多数情况下,我们不应该直接使用它们,因为java.time包中相应的类已经提供了格式化和解析的方法。
java.time.temporal包:这个包包含一些时态对象,我们可以用其找出关于日期/时间对象的某个特定日期或时间,比如说,可以找到某月的第一天或最后一天。你可以非常容易地认出这些方法,因为它们都具有“withXXX”的格式。
java.time.zone包:这个包包含支持不同时区以及相关规则的类。