[Q&A] 什么是LocalDateTime?
表示一个不含时区信息的本地日期和时间,不可变对象。
[Q&A] 什么是OffsetDateTime?
表示一个带有偏移量(offset)的日期和时间。
例如,+05:30 表示比 UTC 时间早5小时30分钟的时区偏移。
时区包括偏移量和是否以及何时应用夏令时(DST)规则,其无时区故其无法处理夏令
[Q&A] 什么是ZonedDateTime?
表示一个包含完整日期、时间以及与之关联的特定时区信息的完整时间戳。
ZonedDateTime同时包含了偏移量和时区信息,能正确处理夏令时。
总结
1、OffsetDateTime
、ZonedDateTime
、Instant
都能在时间线上以纳秒精度存储一个时刻
,LocalDateTime
不行的。
2、OffsetDateTime
和Instant
可用于模型的字段类型,因为它们都不可变,所以适合网络传输或者数据库持久化。
3、ZonedDateTime
不适合网络传输/持久化,因为即使同一个ZoneId时区,不同地方获取到瞬时值也有可能不一样。