建立特定日期

雖然 Java Date 類有幾個建構函式,但你會注意到大多數都被棄用了。直接建立 Date 例項的唯一可接受的方法是使用空建構函式或傳入 long(自標準基準時間以來的毫秒數)。除非你正在尋找當前日期或已經有另一個 Date 例項,否則它們都不方便。

要建立新日期,你需要一個 Calendar 例項。從那裡,你可以將 Calendar 例項設定為你需要的日期。

Calendar c = Calendar.getInstance();

這會將新的 Calendar 例項設定為當前時間。日曆有很多方法可以改變它的日期和時間,或者直接設定它。在這種情況下,我們將其設定為特定日期。

c.set(1974, 6, 2, 8, 0, 0);
Date d = c.getTime();

getTime 方法返回我們需要的 Date 例項。請記住,Calendar set 方法只設定一個或多個欄位,它們不會全部設定。也就是說,如果設定年份,其他欄位保持不變。

陷阱

在許多情況下,此程式碼段實現了其目的,但請記住,未定義日期/時間的兩個重要部分。

  • (1974, 6, 2, 8, 0, 0) 引數在預設時區內解釋,在其他地方定義,
  • 毫秒不設定為零,但在建立 Calendar 例項時從系統時鐘填充。