Java を使った日付期間の計算

JavaBeginner
オンラインで実践に進む

はじめに

Java のuntil()メソッドは、期間オブジェクトとして 2 つの日付の間の期間を取得するために使用されます。これは、年、月、日の観点から 2 つの日付の間の期間を計算します。この実験では、until()メソッドを使用して、期間オブジェクトとして 2 つの日付の間の期間を取得する方法を学びます。

必要なインポートを追加する

「DateDemo.java」ファイルに次のインポート文を追加します。

import java.time.LocalDate;
import java.time.Period;

LocalDate オブジェクトを作成する

LocalDate.of()メソッドを使用して開始日付用の LocalDate オブジェクトを作成し、startDateという名前の変数に割り当てます。日付は任意の有効な日付で構いません。

LocalDate startDate = LocalDate.of(2002, 01, 10);

2 つの日付の間の期間を取得する

開始日付と終了日付の間の期間を取得するには、until()メソッドを使用します。このメソッドはChronoLocalDate型の引数をとり、これはそれを実装する任意のクラスオブジェクトです。この例では、終了日付に別のLocalDateオブジェクトを使用します。

Period period = startDate.until(LocalDate.of(2005, 10, 12));

期間を出力する

System.out.println()を使用して 2 つの日付の間の期間を表示します。期間は PnYnMnD 形式(n は年、月、日の数を表す)で表示されます。

System.out.println("Period between start and end date: " + period);

期間の個々の値を取得する

期間の個々の値(すなわち、年数、月数、日数)を取得するには、getYears()getMonths()、およびgetDays()メソッドを使用します。

int years = period.getYears();
int months = period.getMonths();
int days = period.getDays();

System.out.println("Years: " + years);
System.out.println("Months: " + months);
System.out.println("Days: " + days);

プログラムをコンパイルして実行する

ターミナルで次のコマンドを使用してプログラムをコンパイルします。

javac DateDemo.java

次のコマンドを使用してプログラムを実行します。

java DateDemo

まとめ

until()メソッドは、年、月、日の観点から 2 つの日付の間の期間を計算するための強力なツールです。このメソッドを使用することで、2 つの日付の間の期間を簡単に取得し、その期間に基づいた計算を行うことができます。この実験では、2 つの日付の間の期間を期間オブジェクトとして取得するためのuntil()メソッドの使い方と、期間の個々の値を取得する方法を学びました。