问题
I'm trying to split a date range into individual dates in the following way:
private static void splitDates(LocalDate dateFrom, LocalDate dateTo) {
while (dateFrom.isBefore(dateTo) || dateFrom.isEqual(dateTo)) {
System.out.println(dateFrom);
dateFrom.plusDays(1L);
}
}
And I don't know why dateFrom.plusDays(1L)
is not working as the date remains still the same so the loop becomes infinite.
回答1:
plusDays doesn't alter the original LocalDate
, you have to assign the result :
dateFrom = dateFrom.plusDays(1L);
回答2:
Because method plusDays doesn't change variable dateFrom. You should do like this:
dateFrom = dateFrom.plusDays(1L);
来源:https://stackoverflow.com/questions/43933397/why-localdate-plusdays-not-working-here