Java Ende des Monats plusMonate

Was passiert gegen Monatsende mit plus Monaten?

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.

  1. Fügen Sie dem Feld Monat die Anzahl der eingegebenen Monate hinzu
  2. Überprüfen Sie, ob das resultierende Datum ungültig ist
  3. Passen Sie "Monatstag" bei Bedarf an den letzten gültigen Tag an Wenn Sie beispielsweise Januar zu 2007-03-31 hinzufügen, wird das Datum 2007-04-31 ungültig. Anstatt ein ungültiges Ergebnis zurückzugeben, wird 2007-04-30, der letzte gültige Tag des Monats, ausgewählt.

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.

Bestätigung

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:

Beiseite

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

Java Ende des Monats plusMonate
[Java] Übersicht über Java
Voraussichtliche Funktionen von Java
[Java] Bedeutung der serialVersionUID
Bewertung von Java Shilber
Java - Vereinigung von Kommentaren
Geschichte der Java-Annotationen
Java (Verdienste des Polymorphismus)
NIO Bewertung von Java
[Java] Drei Funktionen von Java
Zusammenfassung der Java-Unterstützung 2018
[Java] Mirage-Basic-Verwendung von SQL
[Java] Anfängerverständnis von Servlet-②
[Java] Praxis der Ausnahmebehandlung [Ausnahme]
Grundlagen der Zeichenoperation (Java)
[Java] Erstellen von Originalanmerkungen
Java-Lerntag 4
[Java] Anfängerverständnis von Servlet-①
[Java] Zusammenfassung der regulären Ausdrücke
[Java] Zusammenfassung der Operatoren (Operator)
[Java] Implementierung des Faistel-Netzwerks
[Java] Komparator der Collection-Klasse
Zusammenfassung der Grundlagen der Java-Sprache
Zusammenfassung der Java Math Klasse
Aufzählung aller Kombinationen Java
Java (Vererbung von is-ein Prinzip)
Vor- und Nachteile von Java
So leiten Sie den letzten Tag des Monats in Java ab
Vorteile der statischen Java-Methode
[Java] Löschen Sie die angegebene Anzahl von Zeichen am Ende von StringBuilder
[Java] Zusammenfassung der Steuerungssyntax
Java-Implementierung von Tri-Tree
Zusammenfassung der Java-Fehlerverarbeitung
[Java] Zusammenfassung der Entwurfsmuster
[Java] Zusammenfassung der mathematischen Operationen
Methode, um die Anzahl der Jahre zu addieren und das Monatsende zu erhalten
[Java] Geschwindigkeitsvergleich der Zeichenfolgenkombination
Denken Sie an eine Java-Update-Strategie
[Java] Löschen Sie die Elemente von List
[Für Anfänger] Zusammenfassung des Java-Konstruktors
Verschiedene Methoden der Java String Klasse
Grundursache für Java Framework Bug
Über Biocontainer fastqc und Java
[Java Edition] Geschichte der Serialisierung
Zusammenfassung des Pakets [Java Silver Study]
Über Lambda, Stream, LocalDate von Java8
Die Geschichte von Java Gold SE8
Liste der Java-Objekte sortieren
[Java] Ausgabe von DateTimeFormatter durch FormatStyle
[Java] Geben Sie in stdin of Process ein
Grundlegende Verwendung von Java Optionaler Teil 1
Umgang mit Zeitzonen mit Java
[Java EE] @ Abhängiges häufiges Missverständnis
[Hinweis] Behandlung von Java-Dezimalstellen
[Java] Laufzeitdatenbereiche von JVM
Liste der in Java 9 hinzugefügten Mitglieder
Berücksichtigung des Risikos "Änderung der Java-Richtlinie"
[Java] Referenz / Update von Active Directory