为什么LocalDate.plusDays不能在这里工作?

时间:2017-05-12 08:52:12

标签: java localdate

我正在尝试按以下方式将日期范围拆分为各个日期:

private static void splitDates(LocalDate dateFrom, LocalDate dateTo) {
    while (dateFrom.isBefore(dateTo) || dateFrom.isEqual(dateTo)) {
        System.out.println(dateFrom);
        dateFrom.plusDays(1L);
    }
}

我不知道为什么dateFrom.plusDays(1L)不起作用,因为日期仍然相同所以循环变得无限。

2 个答案:

答案 0 :(得分:4)

plusDays不会改变原始LocalDate,您必须指定结果:

dateFrom = dateFrom.plusDays(1L);

答案 1 :(得分:2)

因为方法plusDays不会更改变量dateFrom。你应该这样做:

dateFrom = dateFrom.plusDays(1L);