Date和Calender都是早期Java项目中用于处理日期和时间的工具类,这两个类在设计上有一些明显的缺陷,这些缺陷主要包括:用于计算日期时间的方法较少、线程不安全、对象中的月份数值与实际月份不符等等。从JDK1.8开始,Java语言又新增了一些用于表示日期时间的类,这些类的设计更加科学合理,它们很好的弥补了Date和Calender类的各种设计缺陷,人们把这些新增的日期时间类称为“Java8新日期时间系统”,这个系统中的类都位于java.time包及其子包中。
Java8新日期时间系统中的类有很多,按照功能的不同,这些类主要可以划分为三大类,它们分别是:表示日期时间的类,表示时间段的类和表示时区以及时差的类。下面的表10-5列出了Java8新日期时间系统中常用类的作用。
表10-5 新日期时间系统常用类
类名 | 功能简介 |
LocalDate | 日期 |
LocalTime | 时间 |
LocalDateTime | 日期时间 |
ZonedDateTime | 包含时区时差信息的日期时间 |
OffsetDateTime | 包含时差信息的日期时间 |
Period | 时间段(以年月日为计时单位) |
Duration | 时间段(以秒和纳秒为计时单位) |
ZoneOffset | 时差 |
ZoneId | 时区 |
表10-5所列出的各个类意义、作用以及应用场合各有不同。从10.4小节开始,本书将详细讲解新日期时间系统中各种类的使用方法。
本文字版教程还配有更详细的视频讲解,小伙伴们可以点击这里观看。