はじめに
この実験では、JavaのLocalDateクラスのcompareTo()
メソッドの使い方を学びます。このメソッドは2つの異なる日付を比較し、整数値を返します。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、JavaのLocalDateクラスのcompareTo()
メソッドの使い方を学びます。このメソッドは2つの異なる日付を比較し、整数値を返します。
LocalDateクラスをインポートするには、ファイルの先頭に次のインポート文を追加します。
import java.time.LocalDate;
このステップでは、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);
過去の任意の日付に置き換えてから、コードを再実行します。
このステップでは、LocalDate
ではなくChronoLocalDate
から拡張された異なるオブジェクトを使用して、2つの異なる日付を比較します。まず、MyDate
という新しいクラスを作成し、次のコードを追加します。
import java.time.chrono.ChronoLocalDate;
public class MyDate implements ChronoLocalDate {
// ChronoLocalDateインターフェイスの実装詳細を追加する
//...
}
その後、LocalDate
変数をMyDate
変数に置き換え、必要に応じてMyDate
クラスの実装詳細を調整します。コードを再実行して、まだ機能することを確認します。
この実験では、JavaにおいてLocalDateクラスのcompareTo()
メソッドを使用して異なる日付を比較する方法を学びました。また、比較結果に基づいて出力を表示する方法と、異なるテストケース用にコードを修正する方法も学びました。