在 Java 8 中计算两个日期之间的天数
2022-08-31 04:54:10
我知道SO上有很多关于如何在Java中获取s的问题,但我想要一个使用新的Java 8 API的例子。我也知道JodaTime库,但我想要一个不依赖外部库的方法。Date
Date
该函数需要符合以下限制:
- 防止日期保存时间中的错误
- 输入是两个对象(没有时间,我知道,但我需要用实例来做到这一点)
Date
LocalDateTime
Date
我知道SO上有很多关于如何在Java中获取s的问题,但我想要一个使用新的Java 8 API的例子。我也知道JodaTime库,但我想要一个不依赖外部库的方法。Date
Date
该函数需要符合以下限制:
Date
LocalDateTime
Date
如果你想要逻辑日历日,请使用 java.time.temporal.ChronoUnit 中的 DAYS.between
()
方法:
LocalDate dateBefore;
LocalDate dateAfter;
long daysBetween = DAYS.between(dateBefore, dateAfter);
如果需要字面 24 小时天(持续时间),可以改用 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
有关详细信息,请参阅此文档。
根据VGR的评论,您可以使用以下内容:
ChronoUnit.DAYS.between(firstDate, secondDate)