首頁  >  文章  >  Java  >  如何在 Java 8 中計算日期之間的天數,處理夏令時和日期物件?

如何在 Java 8 中計算日期之間的天數,處理夏令時和日期物件?

Linda Hamilton
Linda Hamilton原創
2024-11-06 00:32:02802瀏覽

How to Calculate Days Between Dates in Java 8, Handling Daylight Saving Time and Date Objects?

在Java 8 中計算日期之間的天數

在Java 8 中,可以使用新的Date API 來計算兩個日期之間的天數。為了滿足特定需求,本文提出了一種解決兩個限制的方法:防止夏令時錯誤和接受作為 Date 物件的輸入(不含時間資訊)。

邏輯日曆日

要計算邏輯日曆天數,可以使用DAYS. Between() 方法:

<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, yesterday); // throws an exception

Duration.between(today.atStartOfDay(), yesterday.atStartOfDay()).toDays() // another option</code>

其他資源

用於進一步有關Java SE 8 日期和時間API 的詳細信息,請參閱此綜合指南:Java SE 8 日期和時間

以上是如何在 Java 8 中計算日期之間的天數,處理夏令時和日期物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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