Period.Between 不包括 Java 中的最后一天


Period difference = Period.between(01.01.2018,31.01.2018) 

difference.getMonths()给出零,difference.getDays()给出 30 天,无论如何包括最后一天?

它在文档中(不包括结束日期(:

包括开始日期,但不包括结束日期。

您只需通过endDate.plusDays(1)将结束日期添加到一天

答案非常简单:只需在结果周期上调用plusDays(1)

Period.between不包括故意的结束日。为了包含最后一天,您必须自己手动添加一天。


这种包含起点和排除终点的模式很常见。例如,String.substring(int startIndex, int endIndex)也遵循此模式,以及IntStream.range(int startInclusive, int endExclusive)