はじめに
Java では、LocalDate クラスの until() メソッドは、指定された単位で別の日付までの期間を取得するために使用されます。このメソッドは、単一の TemporalUnit で 2 つの LocalDate オブジェクト間の期間を計算します。このメソッドは long 型の値を返します。終了日が開始日より前の場合、結果は負になります。この実験では、Java の LocalDate クラスの until() メソッドの使い方を示します。
新しい Java クラスを作成する
次のコマンドを使用して、~/project ディレクトリに「LocalDateUntilMethod」という名前の新しい Java クラスを作成します。
cd ~/project
touch LocalDateUntilMethod.java
必要なパッケージをインポートする
LocalDate クラスと ChronoUnit 列挙型を使用するために必要なパッケージを、次のコードを使用してインポートします。
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
LocalDate オブジェクトを作成する
開始日を表す新しい LocalDate オブジェクトを、LocalDate.of() メソッドを使用して作成します。
LocalDate localDate = LocalDate.of(2002, 01, 10);
until() メソッドを使って 2 つの日付間の時間差を計算する
until() メソッドを使用して、単一の TemporalUnit で 2 つの LocalDate オブジェクト間の期間を計算します。このステップでは、単位を表すために ChronoUnit 列挙型を使用します。以下の例は、2 つの日付間の年数を取得する方法を示しています。
long period = localDate.until(LocalDate.of(2005,10,12), ChronoUnit.YEARS);
同様に、2 つの LocalDate オブジェクト間の日数は、ChronoUnit.DAYS を使用して計算できます。以下の例は、2 つの日付間の日数を取得する方法を示しています。
long period = localDate.until(LocalDate.of(2005,10,12), ChronoUnit.DAYS);
結果を出力する
System.out.println() メソッドを使用して結果を出力します。このステップでは、2 つの日付間の年数または日数を出力できます。
System.out.println("Years : "+period);
System.out.println("Days : "+period);
Java プログラムを保存してコンパイルする
ファイルを保存するには、CTRL+X を押してから Y を押し、その後 ENTER を押します。次のコマンドを使用して Java プログラムをコンパイルします。
javac LocalDateUntilMethod.java
Java プログラムを実行する
次のコマンドを使用して Java プログラムを実行します。
java LocalDateUntilMethod
出力は、指定された単位に応じて、2 つの日付間の年数または日数を表示します。
まとめ
この実験では、Java の LocalDate クラスの until() メソッドの使い方を学びました。また、単一の TemporalUnit で 2 つの LocalDate オブジェクト間の時間差を計算する方法も学びました。これらの手順に従えば、Java で 2 つの日付間の時間差を簡単に計算できるようになりました。



