Es müssen keine Berechnungen von Hand durchgeführt werden.
Sie können ein bestimmtes Datum mit einem Adjuster mit der Methode LocalDateTime.with(adjuster)
einstellen. Es ist eine für den nächsten Tag der Woche Teller-in gebaut: TemporalAdjusters.next(dayOfWeek)
:
Gibt die nächsten Tag-of-Woche Teller, die das Datum auf das erste Vorkommen der angegebenen Tag-of-Woche paßt nach Das Datum wird angepasst.
public static void main(String[] args) {
LocalDateTime dateTime = LocalDateTime.now();
LocalDateTime nextMonday = dateTime.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
System.out.println(nextMonday);
}
Dieser Code wird beim nächsten Montag zurückkehren dem aktuellen Datum basiert.
statische Importe verwenden, dies macht den Code leichter zu lesen:
LocalDateTime nextMonday = dateTime.with(next(MONDAY));
Sie beachten, dass, wenn das aktuelle Datum bereits an einem Montag ist, wird dieser Code am nächsten Montag zurückkehren (dh des Montag von der nächsten Woche). Wenn Sie in diesem Fall das aktuelle Datum beibehalten möchten, können Sie nextOrSame(dayOfWeek)
verwenden.
Ich würde empfehlen: https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html – Fincio
@Fincio Sicher nicht. – Tunaki
LocalDateTime \t plusWeeks (lange Wochen)? – Fincio