Gibt es eine Möglichkeit, alle Daten zwischen zwei Daten in der neuen java.time
API zu bekommen?Java 8 LocalDate - Wie bekomme ich alle Daten zwischen zwei Daten?
Lassen Sie uns sagen, dass ich diesen Teil des Codes haben:
@Test
public void testGenerateChartCalendarData() {
LocalDate startDate = LocalDate.now();
LocalDate endDate = startDate.plusMonths(1);
endDate = endDate.withDayOfMonth(endDate.lengthOfMonth());
}
Jetzt muss ich alle Termine zwischen startDate
und endDate
.
Ich dachte, die daysBetween
der beiden Termine zu bekommen und iterieren:
long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
for(int i = 0; i <= daysBetween; i++){
startDate.plusDays(i); //...do the stuff with the new date...
}
Gibt es eine bessere Art und Weise die Daten zu bekommen?
Sie können auch das Startdatum erhöhen, solange es kleiner als das Enddatum ist. (Angenommen, Start ist immer kleiner als Ende, um damit zu beginnen.) – Fildor
Ich glaube nicht, dass es einen anderen Weg als iterate gibt. –
Ich könnte mir vorstellen, dass es einen ausgefallenen Java8-Stream geben könnte, um eine Liste dieser Daten zu erhalten ... aber ich kenne diese neue API nicht sehr gut. – Fildor