Java LocalDate類別是不可變的,這意味著一旦建立實例,就無法修改它。LocalDate提供了許多有用的方法來操作和查詢日期,例如添加或減去天、月或年,獲取星期幾,或檢查一個日期是否在另一個日期之前或之後。
本地日期範例
讓我們從一個簡單的範例開始,該範例為當前日期建立一個LocalDate實例並將其列印到控制台:import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println("Today's date: " + today);
}
}
在此範例中,我們從java.time套件中 匯入LocalDate類,並使用靜態now()方法建立一個名為Today的新LocalDate實例。此方法傳回一個LocalDate對象,表示基於預設時區的系統時脈的目前日期。然後,我們使用System.out物件的println()方法將目前日期列印到控制台。輸出將如下所示:
輸出
今天的日期:2023-05-01
本地日期建構函數
除了now()方法之外,LocalDate還提供了幾個其他建構函數,讓您可以從不同的來源建立LocalDate實例。例如,您可以根據特定的年、月、日 建立LocalDate :import java.time.LocalDate;
public class LocalDateConstructorExample {
public static void main(String[] args) {
LocalDate date1 = LocalDate.of(2023, 5, 1);
System.out.println("Date 1: " + date1);
}
}
此程式碼會建立一個名為date1的 新LocalDate實例,其中包含 2023 年、5 月(由值 5 表示)和第 1 天。輸出將為:
輸出
日期 1: 2023-05-01
本地日期操作
LocalDate最有用的功能之一是操作日期的能力。例如,您可以使用plus和minus方法來增加或減去天、月或年:import java.time.LocalDate;
public class LocalDateManipulationExample {
public static void main(String[] args) {
LocalDate date3 = LocalDate.parse("2023-05-01");
LocalDate date4 = date3.plusDays(1);
LocalDate date5 = date3.minusMonths(1);
LocalDate date6 = date3.plusYears(1);
System.out.println("Date 3: " + date3);
System.out.println("Date 4: " + date4);
System.out.println("Date 5: " + date5);
System.out.println("Date 6: " + date6);
}
}
在此範例中,我們首先透過解析字串「2023-05-01」來建立一個名為date3的新LocalDate實例。然後,我們透過在date3中新增或減去天、月或年來建立三個名為date4、date5和date6的新LocalDate實例。輸出將是:
日期 3: 2023-05-01 日期 4: 2023-05-02 日期 5: 2023-04-01 日期 6: 2024-05-01
比較本地日期
LocalDate也提供了比較日期的方法。您可以使用equals()、isBefore()和isAfter()方法 來檢查兩個LocalDate實例是否相等,或者一個實例是否在另一個實例之前或之後:import java.time.LocalDate;
public class LocalDateCompareExample {
public static void main(String[] args) {
LocalDate date1 = LocalDate.parse("2023-05-01");
LocalDate date2 = LocalDate.parse("2023-05-02");
System.out.println("Are the dates equal? " + date1.equals(date2));
System.out.println("Is date1 before date2? " + date1.isBefore(date2));
System.out.println("Is date2 after date1? " + date2.isAfter(date1));
}
}
在此範例中,我們建立兩個名為date1和date2的LocalDate實例,然後使用equals()、isBefore()和isAfter()方法對它們進行比較。輸出將為布林形式,即true或false:
日期相等嗎?false date1 是否在 date2 之前?true date2 是否在 date1 之後?真的
本地日期時間
如果需要表示日期和時間,可以使用LocalDateTime類,該類與LocalDate類似,但包含時間元件。LocalDateTime提供了操作和查詢日期和時間部分的方法。以下是建立LocalDateTime實例的範例:import java.time.LocalDateTime;
public class LocalDateTimeExample {
public static void main(String[] args) {
LocalDateTime datetime = LocalDateTime.now();
System.out.println("Current date and time: " + datetime);
}
}
此程式碼匯入LocalDateTime類別並使用now()方法建立一個名為datetime的新實例。輸出將如下所示:
目前日期和時間:2023-05-01T15:30:00.123456789
注意:輸出中的“T”表示時間戳記的開始。
GO TO FULL VERSION