CodeGym /Java Blog /Toto sisi /Java 本地日期類
John Squirrels
等級 41
San Francisco

Java 本地日期類

在 Toto sisi 群組發布
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最有用的功能之一是操作日期的能力。例如,您可以使用plusminus方法來增加或減去天、月或年:
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中新增或減去天、月或年來建立三個名為date4date5date6的新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));
    }
}
在此範例中,我們建立兩個名為date1date2的LocalDate實例,然後使用equals()isBefore()isAfter()方法對它們進行比較。輸出將為布林形式,即truefalse
日期相等嗎?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”表示時間戳記的開始。

結論

Java LocalDate類別對於在 Java 中處理日期非常有用。它提供了許多操作和查詢日期的方法,可以輕鬆添加或減去天、月或年,檢查一個日期是否在另一個日期之前或之後等等。如果您需要同時處理日期和時間,則可以使用LocalDateTime類別。請隨意嘗試本課程並與我們分享您的結果!每當您感到困難時,請回到這篇文章。快樂編碼!
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION