2

我正在尝试通过以下方式将日期范围拆分为单个日期:

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)不工作,因为日期保持不变,所以循环变得无限。

4

2 回答 2

10

plusDays不会改变原来的LocalDate,你必须分配结果:

dateFrom = dateFrom.plusDays(1L);
于 2017-05-12T08:53:41.367 回答
3

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

dateFrom = dateFrom.plusDays(1L);
于 2017-05-12T08:55:20.053 回答