在Java8中计算两个日期之间的天数

我知道在Java中如何获取Dates有很多问题,但是我想要一个使用新的Java8DateAPI的例子。我也知道JodaTime库,但是我想要一个不依赖外部库的方法

该功能需要符合以下限制:

  1. 防止日期保存时出错
  2. 输入是两个Date对象(没有时间,我知道LocalDateTime,但我需要用Date实例来实现)

如果您想要逻辑日历日,请使用DAYS.between()https://docs.oracle.com/javase/8/docs/api/java/time/temporal/ChronoUnit.html"rel=“noreferrer”>java.time.temporal.ChronoUnit

localdatebefore;
LocalDate dateAfter;
long daysBetween=天之间(dateBefore,dateAfter);

如果您想要文字24小时工作日,(a持续时间),您可以使用持续时间类:

localdatetoday=LocalDate.now()
LocalDate昨天=今天。天数(1);
//持续时间一天=持续时间。介于(今天、昨天);//抛出异常
Duration.between(today.atStartOfDay(),beday.atStartOfDay()).toDays()//另一个选项

有关更多信息,请参阅http://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html“rel=“noreferrer”>本文档

发表评论