Есть ли возможность получить все даты между двумя датами в новом java.time
API?Java 8 LocalDate - Как получить все даты между двумя датами?
Скажем, у меня есть эта часть кода:
@Test
public void testGenerateChartCalendarData() {
LocalDate startDate = LocalDate.now();
LocalDate endDate = startDate.plusMonths(1);
endDate = endDate.withDayOfMonth(endDate.lengthOfMonth());
}
Теперь мне нужно все даты между startDate
и endDate
.
Я думал, чтобы получить daysBetween
из двух дат и перебирать:
long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
for(int i = 0; i <= daysBetween; i++){
startDate.plusDays(i); //...do the stuff with the new date...
}
Есть ли лучший способ получить даты?
Вы также можете увеличить начальную дату, если она меньше, чем enddate. (Предполагая, что начало всегда меньше конца для начала.) – Fildor
Я не думаю, что есть другой способ, чем повторить. –
Я мог представить, что может появиться какой-то причудливый поток Java8, чтобы получить список этих дат ... но я не слишком хорошо знаком с этим новым API. – Fildor