ホームページ  >  記事  >  Java  >  Java 8 で 2 つの日付の間の日数を計算するにはどうすればよいですか?

Java 8 で 2 つの日付の間の日数を計算するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-06 20:08:03753ブラウズ

How to Calculate the Number of Days Between Two Dates in Java 8?

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

Java で 2 つの日付の間の日数を計算するのは一般的なタスクです。 JodaTime などの外部ライブラリは便利なメソッドを提供しますが、Java 8 の Date API を使用する簡単なアプローチも可能です。

制限事項:

    夏時間によるエラーの防止time.
  1. 入力は 2 つの Date オブジェクト (LocalDateTime または LocalDate ではありません) です。

解決策:

論理暦日:

月の長さと閏年を考慮した論理暦日を取得するには、ChronoUnit.DAYS メソッドを使用します。

<code class="java">LocalDate dateBefore;
LocalDate dateAfter;
long daysBetween = DAYS.between(dateBefore, dateAfter);</code>

リテラル 24 時間日 (期間) ):

2 つの日付間の正確な 24 時間の期間については、Duration クラスを使用します:

<code class="java">LocalDate today = LocalDate.now()
LocalDate yesterday = today.minusDays(1);
Duration oneDay = Duration.between(today.atStartOfDay(), yesterday.atStartOfDay()).toDays();</code>

追加メモ:

    Date オブジェクトに時間コンポーネントが含まれている場合、正確な計算を保証するために atStartOfDay() メソッドを使用する必要があります。
  • Java 8 の Date API には、ChronoUnit.MONTHS など、日付と時刻を操作するための他のさまざまなメソッドが用意されています。 ChronoUnit.YEARS など。
詳細については、Java SE 8 の日付と時刻のドキュメントを参照してください。

以上がJava 8 で 2 つの日付の間の日数を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。