1. 程式人生 > 其它 >Java核心技術卷二筆記6

Java核心技術卷二筆記6

第六章 日期和時間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方法。