Java|LocalDateクラスで日付の期間を計算する方法

LocalDateクラスで日付の期間を計算する方法プログラミングの知識
プログラミングの知識

今回はLocalDateクラスの日付の期間を計算する方法について紹介します。

スポンサーリンク

Periodクラスで日付の期間を計算する方法

Periodクラスbetweenメソッドを使うことで2つの日付の期間を計算することができます。betweenメソッドは以下の様に記述します。

//betweenメソッドの記述例
Period 変数 = Period.between(変数1, 変数2);

変数に変数1と変数2の期間を代入しています。

また、getメソッドによって年、月、日を取り出すことができます。getメソッドはgetYearsgetMounthsgetDaysメソッドが存在します。

サンプルコード

サンプルコードを以下に示します。

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

public class BetweenTest {

	public static void main(String[] args) {
		LocalDate date1 = LocalDate.of(2020, 1, 1);
		LocalDate date2 = LocalDate.of(2021, 8, 15);
		
		// date1とdate2の期間を取得する
		Period period = Period.between(date1, date2);

		// priodを出力する
		System.out.println(period);
		
		//priodを年、月、日に分割して出力する
		System.out.println(period.getYears());
		System.out.println(period.getMonths());
		System.out.println(period.getDays());
	}

}

出力結果

サンプルコードの出力結果を以下に示します。

P1Y7M14D //期間
1 //年
7 //月
14 //日

date1とdate2の期間が出力されました。

ここで、出力結果の一行目が分かりづらくなっていますが、最初のPを飛ばし、「1Y(年)7M(月)14D(日)」の期間であるという意味を持ちます。

その下はそれぞれgetメソッドで分割して表示しています。

まとめ

今回やったことのまとめです。

ポイント
  • LocalDateクラスで日付の期間を計算するにはPeriodクラスが便利である
  • betweenメソッドで2つの日付の期間を求めることができる
  • getメソッドには、日、月、年ごとにメソッドがある

以上で終わります。

スポンサーリンク
Dim雑記
タイトルとURLをコピーしました