1. ホーム

[解決済み】Java 8で2つのDateの間の日数を計算する

2022-03-25 07:24:27

質問

についての質問がSOにたくさんあるのは知っています。 Date を使用した例が欲しいのですが。 Date APIを使用します。JodaTimeライブラリも知っていますが、外部ライブラリに依存しない方法が欲しいです。

これらの制限に準拠した関数である必要があります。

  1. 日付保存時のエラー防止
  2. 入力は2つ Date オブジェクト(時間がなくても LocalDateTime で行う必要があるのですが Date インスタンス)

解決方法は?

もし、あなたが 論理カレンダー日 を使用します。 DAYS.between() からのメソッドです。 java.time.temporal.ChronoUnit :

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

もし、あなたが 文字通りの24時間営業 , (a 継続時間 ) を使用することができます。 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

詳細は、以下を参照してください。 この文書 .