Java核心技術卷二筆記6
阿新 • • 發佈:2021-08-04
第六章 日期和時間API
Java中最早給出的處理時間的類是Date,但其過於簡單,之後引入的Calendar類對其做出了改進。但它的API對時間的處理還是不夠完備。jdk8中給出了time API,這是對時間計算的另一次升級。
時間線
Java的Date和Time API規範要求Java使用的時間尺度為:
- 每天86400秒
- 每天正午與官方時間精確匹配
- 在其他時間點上,以精確定義的方式與官方時間接近匹配
本地時間
LocalDate是帶有年月日的日期。
在Calendar類中,星期六的值是1而星期天的值是7。
日期調整器
TemporalAdjusters類提供了調整日期的靜態方法。
本地時刻
LocalTime表示當日時刻。
時區時間
UTC代表協調世界時,即Coordinated Universal Time和它的法文版本首字母縮寫的折中。UTC是不考慮夏令時的格林威治皇家天文臺時間。
調整跨越夏令時邊界的日期時注意不要直接使用Period類加減時間,而是應該用Period類。
OffsetDateTime類用於表示與UTC具有偏移量的時間,但沒有時區規則的束縛。
格式化和解析
DateTimeFormatter用來替代DateTimeFormat.
parse方法解析時間與日期。
與遺留程式碼的互操作
Instant類類似於Date,Date類有一個toInstant方法將其轉化為Instant,反方向還有from方法。
ZonedDateTime則類似於GregorianCalendar,類似的,GrogorianCalendar有一個toZonedDateTime方法轉換為ZonedDateTime,反方向同樣有靜態的from方法。