Czy istnieje możliwość uzyskania wszystkich dat między dwiema datami w nowym interfejsie API java.time
?Java 8 LocalDate - Jak uzyskać wszystkie daty między dwiema datami?
Powiedzmy mam ten fragment kodu:
@Test
public void testGenerateChartCalendarData() {
LocalDate startDate = LocalDate.now();
LocalDate endDate = startDate.plusMonths(1);
endDate = endDate.withDayOfMonth(endDate.lengthOfMonth());
}
teraz muszę wszystkie dniach między startDate
i endDate
.
Myślałam aby uzyskać daysBetween
z dwiema datami i iteracyjnego:
long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
for(int i = 0; i <= daysBetween; i++){
startDate.plusDays(i); //...do the stuff with the new date...
}
Czy istnieje lepszy sposób, aby uzyskać daty?
Można równie dobrze zwiększyć wartość początkową, o ile jest mniejsza niż data zakończenia. (Zakładając, że start jest zawsze mniejszy niż koniec na początku.) – Fildor
Nie sądzę, że istnieje inny sposób niż iteracja. –
Mogę sobie wyobrazić, że może być jakiś wymyślny strumień Java8 - sposób na uzyskanie listy tych dat ... ale nie jestem zbyt zaznajomiony z tym nowym API. – Fildor