Es gibt keinen 31. im Februar, aber ich war gespannt, was passieren würde, wenn ich mit plusMonths ()
1 Monat zu 1/31 hinzufügen würde.
Laut Dokumentation
Diese Methode fügt den angegebenen Betrag in drei Schritten zum Monatsfeld hinzu.
Fügen Sie zunächst die Monate hinzu und prüfen Sie, ob dem hinzugefügten Monat ein Datum entspricht. Wenn es kein solches Datum gibt, scheint es den letzten Tag des Monats zurückzugeben.
LocalDate date = LocalDate.of(2020,1,31);
System.out.println(date.plusMonths(1));
// 2020-02-29
LocalDate date = LocalDate.of(2020,1,30);
System.out.println(date.plusMonths(1));
// 2020-02-29
LocalDate date = LocalDate.of(2020,1,29);
System.out.println(date.plusMonths(1));
// 2020-02-29
LocalDate date = LocalDate.of(2020,1,28);
System.out.println(date.plusMonths(1));
// 2020-02-28
Für Daten, die nicht zutreffen, erhalten Sie ein gültiges Datum zurück: clap:
Was ist, wenn auf "minusMonths" "plusMonths" folgt?
LocalDate date = LocalDate.of(2020,1,31);
System.out.println(date.plusMonths(1).minusMonths(1));
// 2020-01-29
Das Ergebnis war der 29.01.2020, weil ich am 29.02.2020 "minusMonate" gemacht habe und es wurde der 29.02.2020 mit "plusMonate".
Recommended Posts