Java LocalDate withYear Methode

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Die withYear()-Methode der Java-Klasse LocalDate wird verwendet, um ein neues Datum mit dem angegebenen Jahr zu erhalten. Sie gibt eine Kopie der aktuellen LocalDate-Instanz zurück, wobei das Jahr auf den angegebenen Wert geändert wird. In diesem Lab führen wir Sie Schritt für Schritt durch die Verwendung der withYear()-Methode.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("Packages / API") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/date("Date") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working") java/SystemandDataProcessingGroup -.-> java/object_methods("Object Methods") java/SystemandDataProcessingGroup -.-> java/system_methods("System Methods") subgraph Lab Skills java/output -.-> lab-117864{{"Java LocalDate withYear Methode"}} java/classes_objects -.-> lab-117864{{"Java LocalDate withYear Methode"}} java/packages_api -.-> lab-117864{{"Java LocalDate withYear Methode"}} java/date -.-> lab-117864{{"Java LocalDate withYear Methode"}} java/files -.-> lab-117864{{"Java LocalDate withYear Methode"}} java/create_write_files -.-> lab-117864{{"Java LocalDate withYear Methode"}} java/working -.-> lab-117864{{"Java LocalDate withYear Methode"}} java/object_methods -.-> lab-117864{{"Java LocalDate withYear Methode"}} java/system_methods -.-> lab-117864{{"Java LocalDate withYear Methode"}} end

Erstellen einer Java-Datei

Öffnen Sie das Terminal und erstellen Sie eine Java-Datei mit dem touch-Befehl.

touch ~/project/WithYearExample.java

Dies erstellt eine Java-Datei namens WithYearExample.java im Verzeichnis ~/project/.

Importieren der erforderlichen Pakete

Ein Paket ist ein Namensraum, der eine Gruppe verwandter Klassen und Schnittstellen organisiert. Um die LocalDate-Klasse zu verwenden, müssen wir das Paket java.time.LocalDate importieren. Fügen Sie den folgenden Code zur WithYearExample.java-Datei hinzu.

import java.time.LocalDate;

Erstellen einer Instanz von LocalDate

In diesem Schritt werden wir eine Instanz der LocalDate-Klasse mithilfe der of()-Methode erstellen. Die of()-Methode nimmt drei Argumente entgegen: das Jahr, den Monat und den Tag. Fügen Sie den folgenden Code unter der Importanweisung hinzu.

LocalDate date = LocalDate.of(2022, 1, 15);
System.out.println("Initial Date: " + date);

Hier legen wir das Datum als den 15. Januar 2022 fest.

Ändern des Jahres mit withYear()

In diesem Schritt werden wir die withYear()-Methode verwenden, um das Jahr der LocalDate-Instanz zu ändern. Fügen Sie den folgenden Code unter Schritt 3 hinzu.

LocalDate newDate = date.withYear(2030);  // Set year as 2030
System.out.println("New Date: " + newDate);

Hier erstellen wir eine neue Variable newDate und setzen das Jahr auf 2030 mithilfe der withYear()-Methode.

Umgang mit ungültigem Tag des Monats

Wenn die aktuelle LocalDate-Instanz einen Tag des Monats hat, der für das neue Jahr ungültig ist, wird die withYear()-Methode den Tag des Monats-Wert auf den letzten gültigen Tag des Monats anpassen. Fügen Sie den folgenden Code unter Schritt 4 hinzu.

LocalDate dateWithInvalidDayOfMonth = LocalDate.of(2021, 2, 31);
LocalDate newDateWithAdjustedDayOfMonth = dateWithInvalidDayOfMonth.withYear(2022);
System.out.println("Old Date: " + dateWithInvalidDayOfMonth + "\nNew Date: " + newDateWithAdjustedDayOfMonth);

Hier legen wir ein Datum mit einem ungültigen Tag des Monats fest, den 31. Februar 2021, der nicht existiert. Anschließend wenden wir die withYear()-Methode an, um das Jahr auf 2022 zu ändern. Da 2022 kein Schaltjahr ist und Februar nur 28 Tage hat, wird der Tag des Monats auf 28 angepasst, was der letzte gültige Tag von Februar ist.

Kompilieren und Ausführen des Programms

Um das Programm zu kompilieren und auszuführen, navigieren Sie zum Projektverzeichnis und führen Sie den folgenden Befehl aus.

javac WithYearExample.java && java WithYearExample

Die Ausgabe des Programms nach Ausführung des obigen Befehls sollte wie folgt sein:

Initial Date: 2022-01-15
New Date: 2030-01-15
Old Date: 2021-02-31
New Date: 2022-02-28

Zusammenfassung

In diesem Lab haben wir gelernt, wie man die withYear()-Methode der LocalDate-Klasse in Java verwendet, um ein Datum mit dem angegebenen Jahr zu erhalten. Wir haben auch gelernt, wie man ungültige Tage des Monats beim Verwenden der withYear()-Methode behandelt. Wenn Sie diese Schritte befolgen, sollten Sie jetzt in der Lage sein, die withYear()-Methode effektiv mit LocalDate-Instanzen in Ihren Java-Programmen zu verwenden.