我知道有很多关于如何在 Java 中获取 Date
的问题,但我想要一个使用新的 Java 8 Date
API 的示例。我也了解 JodaTime 库,但我想要一种不依赖外部库的方法。
该函数需要符合这些限制:
- 防止日期保存时出现错误
- 输入是两个
Date
对象(没有时间,我知道LocalDateTime
,但我需要使用Date
实例来完成此操作)
最佳答案
如果您想要逻辑日历日,请使用DAYS.between()
方法来自 java.time.temporal.ChronoUnit
:
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
有关更多信息,请参阅此文档:Java SE 8 Date and Time .
关于java - Java 8 计算两个日期之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44865345/