因為Jdk7及以前的日期時間類的不方便使用問題和線程安全問題等問題,2005年,Stephen Colebourne創建了Joda-Time庫,作為替代的日期和時間API。Stephen向JCP提交了一個規範,他本人作為規範的領導人,該規範就是JSR 310,在Java8中實現併發布。 Java8日 ...
因為Jdk7及以前的日期時間類的不方便使用問題和線程安全問題等問題,2005年,Stephen Colebourne創建了Joda-Time庫,作為替代的日期和時間API。Stephen向JCP提交了一個規範,他本人作為規範的領導人,該規範就是JSR 310,在Java8中實現併發布。
Java8日期時間API主要類有:
LocalDate:表示不帶時間的日期
LocalTime:表示不帶日期的時間
LocalDateTime:日期和時間類
ZoneId:時區
ZonedDateTime:一個帶時區的完整時間
Instant:Unix 時間,它代表的是時間戳,比如 2018-01-14T02:20:13.592Z
Clock:獲取某個時區下當前的瞬時時間,日期或者時間
Duration:表示一個絕對的精確跨度,使用毫秒為單位
Period:這個類表示與 Duration 相同的概念,但是以人們比較熟悉的單位表示,比如年、月、周
DateTimeFormatter:格式化輸出
TemporalAdjusters:獲得指定日期時間等,如當月的第一天、今年的最後一天等
ChronoUnit:時間單位枚舉,用於加減操作
ChronoField:欄位枚舉,用於設置欄位值。
主要類圖:
時間範圍示意圖:
參考:https://www.iteye.com/news/26064
https://segmentfault.com/a/1190000020179839
《Java8實戰》