java8新特性:新的时间API
- LocalDate、LocalTime、LocalDateTime类的实例是不可变的对象,分别表示使用ISO-8601日历系统的日期、时间、日期和时间。他们提供简单的日期和时间,并不包含与时区相关的信息。
注:ISO-8601日历系统是国际化标准组织的现代公民的日期和时间的表示法
- Instant时间戳
用于“时间戳”的运算,他是以Unix元年(UTC时区1970年1月1日午夜时分)开始所经历的描述进行运算 - Duration:用于计算两个“时间”间隔
- Period:用于计算两个“日期”间隔
- 日期的操纵
- TemporalAdjuster:时间矫正器。可以将日期调整到“下个周日”等操作
- TemporalAdjusters:提供了大量的常用TemporalAdjuster的实现
例如:
LocalDate nextSunday=LocalDate.now().with(
TemporalAdjusters.next(DayOfWeek.SUNDAY)
)
-
解析和格式化
java.time.format.DateTimeFormatter类提供了格式化的方法 -
时区处理
ZonedDate、ZonedTime、ZonedDateTime对应带时区的日期、时间、日期和时间
每个时区都对应ID,地区ID都为“{区域}/{城市}”的格式
ZoneId:该类中包含了所有的时区信息- getAvailableZoneIds():可以获取所有时区信息
- of(id):指定的时区信息获取ZoneId对象