首頁  >  文章  >  Java  >  Java 8中如何計算兩個日期之間的天數?

Java 8中如何計算兩個日期之間的天數?

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 中兩個日期之間的天數

計算Java 中兩個日期之間的天數可能是一項常見任務。雖然像 JodaTime 這樣的外部函式庫可能提供方便的方法,但使用 Java 8 的 Date API 的直接方法也是可能的。

限制:

  1. 防止夏令時造成的錯誤時間。
  2. 輸入是兩個 Date 物件(不是 LocalDateTime 或 LocalDate)。

解決方案:

邏輯日曆日:

要取得邏輯日曆日(考慮月份長度和長度閏年),請使用ChronoUnit.DAYS 方法:

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

字面24 小時日(持續時間):

要獲得兩個日期之間確切的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中如何計算兩個日期之間的天數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn