Java LocalDate withDayOfYear Methode

JavaBeginner
Jetzt üben

Einführung

In diesem Lab werden wir lernen, wie man die withDayOfYear()-Methode in der Java-Klasse LocalDate verwendet, um ein Datum mit einem neuen Tag des Jahres zu erstellen.

Erstelle eine Java-Datei

Erstellen Sie eine Datei LocalDateWithDayOfYear.java im Verzeichnis ~/project mit dem folgenden Code:

import java.time.LocalDate;

public class LocalDateWithDayOfYear {
    public static void main(String[] args) {
        System.out.println("Original datum: ");
        LocalDate localDate = LocalDate.of(2002, 01, 10);
        System.out.println(localDate);
    }
}

Verwenden Sie den folgenden Befehl, um den Code zu kompilieren und auszuführen:

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

Die Ausgabe sollte das ursprüngliche Datum anzeigen:

Original datum:
2002-01-10

Verwende withDayOfYear() zum Festlegen des neuen Tages im Jahr

Um ein neues Datum zu erstellen, indem wir einen neuen Wert für den Tag im Jahr festlegen, können wir die withDayOfYear()-Methode verwenden, um einen neuen Tag für das Datum festzulegen.

Fügen Sie den folgenden Code nach der Zeile System.out.println(localDate); hinzu:

// setze den Tag im Jahr auf 30
localDate = localDate.withDayOfYear(30);
System.out.println("Neues Datum mit Tag im Jahr 30: ");
System.out.println(localDate);

// setze den Tag im Jahr auf 300
localDate = localDate.withDayOfYear(300);
System.out.println("Neues Datum mit Tag im Jahr 300: ");
System.out.println(localDate);

Verwenden Sie den folgenden Befehl, um den Code zu kompilieren und auszuführen:

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

Die Ausgabe sollte die neuen Daten mit den neuen Werten für den Tag im Jahr anzeigen:

Original datum:
2002-01-10
Neues Datum mit Tag im Jahr 30:
2002-01-30
Neues Datum mit Tag im Jahr 300:
2002-10-27

Umgang mit ungültigem Datum

Wenn das resultierende Datum ungültig ist, wird eine Ausnahme geworfen. Wir können die Ausnahme mit einem try-catch-Block wie folgt behandeln:

try {
    // setze den Tag im Jahr auf 366 (ungültig für ein Nicht-Schaltjahr)
    localDate = localDate.withDayOfYear(366);
    System.out.println(localDate);
} catch (Exception e) {
    System.out.println("Ungültiges Datum: " + e.getMessage());
}

Verwenden Sie den folgenden Befehl, um den Code zu kompilieren und auszuführen:

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

Die Ausgabe sollte die Meldung der ungültigen Datumsausnahme anzeigen:

Original datum:
2002-01-10
Neues Datum mit Tag im Jahr 30:
2002-01-30
Neues Datum mit Tag im Jahr 300:
2002-10-27
Ungültiges Datum: Ungültiges Datum 'Tag im Jahr 366', da '2002' kein Schaltjahr ist

Zusammenfassung

In diesem Lab haben wir gelernt, wie man die withDayOfYear()-Methode in der Java-Klasse LocalDate verwendet, um ein Datum mit einem neuen Tag des Jahres zu erstellen. Wir haben auch gelernt, wie man die Ausnahme bei der Festlegung eines neuen Tages des Jahres behandelt, wenn das Datum ungültig ist.