Java 8で2つの日付間の日数を計算する 質問する

Java 8で2つの日付間の日数を計算する 質問する

DateJava で s を取得する方法について SO に多くの質問があることは知っていますが、新しい Java 8 DateAPI を使用した例が欲しいです。JodaTime ライブラリについても知っていますが、外部ライブラリに依存しない方法が欲しいです。

関数は次の制限に準拠する必要があります。

  1. 日付保存時間によるエラーを防ぐ
  2. 入力は2つのDateオブジェクトです(時間なしで、については知っていますLocalDateTimeが、インスタンスでこれを行う必要がありますDate

ベストアンサー1

論理的なカレンダー日が必要な場合は、DAYS.between()方法からjava.time.temporal.ChronoUnit:

LocalDate dateBefore;
LocalDate dateAfter;
long daysBetween = DAYS.between(dateBefore, dateAfter);

文字通り24時間の日数期間)が必要な場合は、Duration代わりにクラス:

LocalDate today = LocalDate.now()
LocalDate yesterday = today.minusDays(1);
// Duration oneDay = Duration.between(today, yesterday); // throws an exception
Duration.between(today.atStartOfDay(), yesterday.atStartOfDay()).toDays() // another option

詳細については、次のドキュメントを参照してください。Java SE 8 の日付と時刻

おすすめ記事