Java の LocalDate の compareTo メソッド

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、JavaのLocalDateクラスのcompareTo()メソッドの使い方を学びます。このメソッドは2つの異なる日付を比較し、整数値を返します。

LocalDateパッケージをインポートする

LocalDateクラスをインポートするには、ファイルの先頭に次のインポート文を追加します。

import java.time.LocalDate;

compareTo() を使って日付を比較する

このステップでは、compareTo() メソッドを使って2つの異なる日付を比較し、比較結果に基づいて出力を表示します。main() メソッドに次のコードを追加します。

    // 日付を取得する
    LocalDate date1 = LocalDate.of(2021, 12, 31);
    // 日付を表示する
    System.out.println("Date 1 is : "+date1);
    // 別の日付を取得する
    LocalDate date2 = LocalDate.now();
    // 日付を表示する
    System.out.println("Date 2 is : "+date2);

    // compareTo() を使って2つの日付を比較する
    int result = date1.compareTo(date2);

    // 日付1が日付2の前、後、または等しいかどうかを表示する
    if(result<0){
      System.out.println("Date 1 is before Date 2");
    }
    else if(result>0){
      System.out.println("Date 1 is after Date 2");
    }
    else{
      System.out.println("Both Dates are same");
    }

コードを実行する

ファイルを保存し、ターミナルで次のコマンドを実行します。

javac DateComparator.java && java DateComparator

日付を変更して比較する

このステップでは、比較に使用する日付を変更して出力を見てみます。コード内の次の行を置き換えます。

LocalDate date1 = LocalDate.of(2021, 12, 31);

他の日付に置き換えてから、コードを再実行します。

同じ日付を比較する

このステップでは、比較に使用する日付を同じに変更します。コード内の次の行を置き換えます。

LocalDate date2 = LocalDate.now();

date1 と同じ日付に置き換えてから、コードを再実行します。

今日の日付と未来の日付を比較する

このステップでは、今日の日付と未来の日付を比較します。コード内の次の行を置き換えます。

LocalDate date1 = LocalDate.of(2021, 12, 31);

未来の任意の日付に置き換えてから、コードを再実行します。

今日の日付と過去の日付を比較する

このステップでは、今日の日付と過去の日付を比較します。コード内の次の行を置き換えます。

LocalDate date1 = LocalDate.of(2021, 12, 31);

過去の任意の日付に置き換えてから、コードを再実行します。

異なるChronoLocalDateオブジェクトを使用する

このステップでは、LocalDateではなくChronoLocalDateから拡張された異なるオブジェクトを使用して、2つの異なる日付を比較します。まず、MyDateという新しいクラスを作成し、次のコードを追加します。

import java.time.chrono.ChronoLocalDate;

public class MyDate implements ChronoLocalDate {

  // ChronoLocalDateインターフェイスの実装詳細を追加する
  //...

}

その後、LocalDate変数をMyDate変数に置き換え、必要に応じてMyDateクラスの実装詳細を調整します。コードを再実行して、まだ機能することを確認します。

まとめ

この実験では、JavaにおいてLocalDateクラスのcompareTo()メソッドを使用して異なる日付を比較する方法を学びました。また、比較結果に基づいて出力を表示する方法と、異なるテストケース用にコードを修正する方法も学びました。