日期時間API
阿新 • • 發佈:2019-01-24
一個 text 國際 日期時間 不一致 bsp p s instant 定義
Java 8 通過發布新的Date-Time API來進一步加強對日期與時間的處理.
在舊版的Java中,日期時間API存在諸多問題其中有
非線程安全 - java.util.Date是非線程安全的,所有日期類都是可變的,這是Java日期類最大的問題之一.
設計很差 - Java日期/時間類的定義並不一致,在java.util和java.sql的包中都有日期類,此外用於格式化和解析的類在java.text包中定義.java.util.Date同事包含日期和時間,而java.sql.Date僅包含日期,將其納入java.sql包並不合理.另外這兩個類都有相同的名字,這本身就是一個非常糟糕的設計.
時區處理麻煩 - 日期類並不提供國際化,沒有時區支持,因此Java引入了java.util.Calendar和java.util.TimeZone類,但他們同樣存在上述所有的問題.
Java 8 在 java.time包下提供了很多新的API.一下為兩個比較重要的API:
Local(本地) - 簡化了日期時間的處理,沒有時區問題.
Zoned(時區) - 通過定制的時區處理日期時間
新的java.time包涵蓋了所有處理日期,日期/時間,時區,時刻(instants),過程(during)與時鐘(clock)的操作.
1.本地化日期時間API
LocalDate/LocalTime和LocalDateTime類可以在處理時區不是必須的情況.代碼如下:
日期時間API