CodeGym /Java Blog /ランダム /Java LocalDate クラス
John Squirrels
レベル 41
San Francisco

Java LocalDate クラス

ランダム グループに公開済み
Java LocalDateクラスは不変です。つまり、インスタンスが作成されると、それを変更することはできません。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

LocalDate コンストラクター

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);
    }
}
このコードは、年 2023、月が 5 月 (値 5 で表される)、日が 1 の date1という名前の 新しいLocalDateインスタンスを作成します。出力は次のようになります。

出力

日付 1: 2023-05-01

LocalDate の操作

LocalDateの最も便利な機能の 1 つは、日付を操作できることです。たとえば、プラスメソッドマイナスメソッドを使用して、日、月、または年を加算または減算できます。
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から日、月、または年を加算または減算して、date4date5、およびdate6 という3 つの新しいLocalDateインスタンスを作成します。出力は次のようになります。
日付 3: 2023-05-01 日付 4: 2023-05-02 日付 5: 2023-04-01 日付 6: 2024-05-01

LocalDates の比較

LocalDate は日付を比較するメソッドも提供します。2 つのLocalDateインスタンスが等しいかどうか、または、equals()isBefore()、およびisAfter()メソッドを 使用して、一方が他方の前後にあるかどうかを確認できます。
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という 2 つの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」はタイムスタンプの開始を示します。

結論

Java LocalDateクラスは、Java で日付を操作する場合に便利です。日付を操作およびクエリするための多くのメソッドが提供されており、日、月、年を加算または減算したり、日付が別の日付より前か後かを確認したりすることが簡単に行えます。日付と時刻を一緒に操作する必要がある場合は、代わりにLocalDateTimeクラスを使用できます。気軽にこのクラスを試して、結果を私たちと共有してください。行き詰まったと感じたらいつでもこの投稿に戻ってください。コーディングを楽しんでください!
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION