はじめに
Java の LocalDate クラスを使うと、日付に基づく演算を行うことができます。必要な演算の 1 つは、与えられた日付から特定の日数、週数または月数を引くことです。minus() メソッドは、LocalDate オブジェクトから指定された時間量を引きます。
Java ファイルを作成する
次のコマンドを使って、~/project ディレクトリに新しい Java ファイル DateDemo.java を作成します。
touch ~/project/DateDemo.java
LocalDate と ChronoUnit をインポートする
必要なクラス LocalDate と ChronoUnit をインポート文を使ってインポートします。
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
日付から日数を減算する
of() メソッドを使って特定の日付を表す LocalDate のインスタンスを作成します。
LocalDate localDate = LocalDate.of(2021, 8, 15);
次に、minus() メソッドを使って上記の日付から特定の日数を引きます。以下のコードを使って、上記の日付から 2 日を引きます。
//日付から 2 日を引く
localDate = localDate.minus(2, ChronoUnit.DAYS);
上記のコードは、LocalDate インスタンス localDate から 2 日を引きます。
日付から月数を減算する
LocalDate オブジェクトから月数を引くには、minus() メソッドを使用できます。ステップ 3 で作成した同じ localDate オブジェクトを使用し、以下のコードを使って 2 か月引きます。
// 日付から 2 か月引く
localDate = localDate.minus(2, ChronoUnit.MONTHS);
上記のコードは、localDate インスタンスから 2 か月を引きます。
新しい日付を表示する
それぞれ 2 日と 2 か月を引いた後の元の日付と新しい日付を、System.out.println() メソッドを使って表示します。
System.out.println("Original date: " + LocalDate.of(2021, 8, 15));
System.out.println("New date after subtracting 2 days: " + localDate);
System.out.println("New date after subtracting 2 months: " + localDate1);
コードをコンパイルして実行する
コードを実行するには、以下のコマンドを使って DateDemo.java ファイルをコンパイルします。
javac ~/project/DateDemo.java
コンパイルエラーがなければ、以下のコマンドを使ってプログラムを実行できます。
java DateDemo
出力を確認する
プログラムの出力には、それぞれ 2 日と 2 か月を引いた後の元の日付と新しい日付が表示されるはずです。出力は以下に似たようになります。
Original date: 2021-08-15
New date after subtracting 2 days: 2021-08-13
New date after subtracting 2 months: 2021-06-13
まとめ
この実験では、LocalDate オブジェクトから指定された日数または月数を引くために minus() メソッドをどのように使用するかを学びました。また、引き算後の元の日付と新しい日付をどのように表示するかも学びました。minus() メソッドは、Java で日付の計算を行う必要がある場合に便利です。



