首页  >  文章  >  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