Manchmal benötigt man alle Tage im Jahr oder alle Tage im Monat oder alle Tage von Start Datum bis zum Ende Datum. Das geht mit Java 8 in einen Zweizeiler:
1 2 3 4 5 6 7 |
// erst die Differenz zwischen Start und Ende Datum berechnen long daysBetween = ChronoUnit.DAYS.between(startDate, endDate); // dann über alle Tage iteriern IntStream.iterate(0, i -> i + 1) .limit(daysBetween) .mapToObj(i -> startDate.plusDays(i) .collect(Collectors.toList()); |
Hier das Ergebnis und die ganze Klasse: