Java LocalDate get() Methode

JavaJavaBeginner
Jetzt üben

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

Einführung

In diesem Lab lernen Sie, wie Sie die get()-Methode der LocalDate-Klasse in Java verwenden, um bestimmte Felder aus einem Datum abzurufen. Diese Methode ist nützlich, wenn Sie nur ein bestimmtes Feld, wie den Tag des Monats oder den Wochentag, aus einem gegebenen Datum abrufen müssen. Sie können die ChronoField-Enum verwenden, um anzugeben, welches Feld abgerufen werden soll.

Erstellen einer Java-Datei

In diesem Schritt erstellen Sie eine neue Java-Datei namens LocalDateGet.java in Ihrem Projektverzeichnis. Diese Datei enthält den Code, um die get()-Methode der LocalDate-Klasse zu demonstrieren.

  1. Öffnen Sie das Terminal in Ihrer WebIDE. Das Standardverzeichnis ist ~/project.

  2. Erstellen Sie die Datei LocalDateGet.java mit dem Befehl touch:

    touch LocalDateGet.java

    Dieser Befehl erstellt eine leere Datei in Ihrem aktuellen Verzeichnis. Sie können die Erstellung überprüfen, indem Sie die Dateien auflisten:

    ls

    Sie sollten LocalDateGet.java in der Ausgabe sehen.

Hinzufügen der notwendigen Imports und Klassenstruktur

Nun fügen Sie die grundlegende Struktur zu Ihrer LocalDateGet.java-Datei hinzu, einschließlich der erforderlichen Importanweisungen und der Hauptklassendefinition. Diese Imports sind essentiell für die Arbeit mit Datums- und Zeit-APIs in Java.

  1. Öffnen Sie die Datei LocalDateGet.java im Code-Editor der WebIDE.

  2. Fügen Sie den folgenden Code zur Datei hinzu:

    import java.time.LocalDate;
    import java.time.temporal.ChronoField;
    import java.time.temporal.TemporalAccessor;
    import java.time.temporal.TemporalField;
    
    public class LocalDateGet {
    
        public static void main(String[] args) {
            // This is where we will call our methods later
        }
    }
    • java.time.LocalDate: Diese Klasse repräsentiert ein Datum ohne Zeitzone.
    • java.time.temporal.ChronoField: Diese Enum bietet eine Standardmenge an Feldern für Datum und Zeit, wie z.B. DAY_OF_MONTH, DAY_OF_WEEK, DAY_OF_YEAR usw.
    • java.time.temporal.TemporalAccessor: Dieses Interface bietet schreibgeschützten Zugriff auf ein temporales Objekt, wie z.B. LocalDate. Die get()-Methode ist in diesem Interface definiert.
    • java.time.temporal.TemporalField: Dieses Interface repräsentiert ein Feld von Datum-Zeit, wie Jahr, Monat oder Tag des Monats. ChronoField implementiert dieses Interface.
  3. Speichern Sie die Datei LocalDateGet.java nach dem Hinzufügen des Codes.

Abrufen des Tages des Monats

In diesem Schritt fügen Sie Ihrer LocalDateGet-Klasse eine Methode hinzu, die demonstriert, wie Sie den Tag des Monats von einem LocalDate-Objekt mithilfe der get()-Methode und ChronoField.DAY_OF_MONTH abrufen.

  1. Öffnen Sie die Datei LocalDateGet.java im Code-Editor der WebIDE.

  2. Fügen Sie die Methode getDayOfMonth() innerhalb der LocalDateGet-Klasse, aber außerhalb der main-Methode hinzu:

    import java.time.LocalDate;
    import java.time.temporal.ChronoField;
    import java.time.temporal.TemporalAccessor;
    import java.time.temporal.TemporalField;
    
    public class LocalDateGet {
    
        public static void getDayOfMonth() {
            // Define the field to retrieve: DAY_OF_MONTH
            TemporalField field = ChronoField.DAY_OF_MONTH;
            // Create a LocalDate object for May 17, 2021
            TemporalAccessor date = LocalDate.of(2021, 5, 17);
    
            // Display the original date
            System.out.println("Date : " + date);
    
            // Retrieve the day of the month using the get() method
            int val = date.get(field);
    
            // Display the retrieved day of the month
            System.out.println("Day of the month: " + val);
            System.out.println(); // Add a blank line for better readability
        }
    
        public static void main(String[] args) {
            // This is where we will call our methods later
        }
    }
    • LocalDate.of(2021, 5, 17): Erstellt ein LocalDate-Objekt, das den 17. Mai 2021 repräsentiert.
    • ChronoField.DAY_OF_MONTH: Gibt an, dass wir den Tag des Monats abrufen möchten.
    • date.get(field): Dies ist der Kern der Operation. Es ruft die get()-Methode auf dem date-Objekt auf und übergibt das field (was ChronoField.DAY_OF_MONTH ist), um den entsprechenden Integer-Wert zu extrahieren.
  3. Speichern Sie die Datei LocalDateGet.java.

  4. Rufen wir nun diese Methode von main auf, um sie in Aktion zu sehen. Ändern Sie Ihre main-Methode wie folgt:

    public static void main(String[] args) {
        getDayOfMonth();
        // Other methods will be called here later
    }
  5. Speichern Sie die Datei erneut.

  6. Öffnen Sie das Terminal und kompilieren Sie Ihren Java-Code:

    javac LocalDateGet.java

    Wenn keine Fehler auftreten, wird die Kompilierung stillschweigend abgeschlossen.

  7. Führen Sie das kompilierte Java-Programm aus:

    java LocalDateGet

    Sie sollten eine Ausgabe ähnlich dieser sehen:

    Date : 2021-05-17
    Day of the month: 17

    Dies bestätigt, dass die Methode getDayOfMonth() den Tag des Monats korrekt extrahiert.

Abrufen des Wochentags

Als Nächstes fügen Sie eine weitere Methode hinzu, um den Wochentag abzurufen. Das Feld ChronoField.DAY_OF_WEEK repräsentiert den Wochentag, wobei 1 für Montag steht, 2 für Dienstag usw., bis 7 für Sonntag.

  1. Öffnen Sie die Datei LocalDateGet.java im Code-Editor der WebIDE.

  2. Fügen Sie die Methode getDayOfWeek() innerhalb der LocalDateGet-Klasse unterhalb der Methode getDayOfMonth() hinzu:

    import java.time.LocalDate;
    import java.time.temporal.ChronoField;
    import java.time.temporal.TemporalAccessor;
    import java.time.temporal.TemporalField;
    
    public class LocalDateGet {
    
        // ... (getDayOfMonth method as defined previously) ...
    
        public static void getDayOfWeek() {
            // Define the field to retrieve: DAY_OF_WEEK
            TemporalField field = ChronoField.DAY_OF_WEEK;
            // Create a LocalDate object for May 17, 2021 (which was a Monday)
            TemporalAccessor date = LocalDate.of(2021, 5, 17);
    
            // Display the original date
            System.out.println("Date : " + date);
    
            // Retrieve the day of the week using the get() method
            int val = date.get(field);
    
            // Display the retrieved day of the week
            System.out.println("Day of the week: " + val);
            System.out.println(); // Add a blank line for better readability
        }
    
        public static void main(String[] args) {
            // ... (main method as defined previously) ...
        }
    }
  3. Speichern Sie die Datei LocalDateGet.java.

  4. Rufen Sie nun diese neue Methode von Ihrer main-Methode auf. Aktualisieren Sie die main-Methode wie folgt:

    public static void main(String[] args) {
        getDayOfMonth();
        getDayOfWeek(); // Call the new method
        // Other methods will be called here later
    }
  5. Speichern Sie die Datei erneut.

  6. Kompilieren Sie Ihren Java-Code vom Terminal aus:

    javac LocalDateGet.java
  7. Führen Sie das kompilierte Java-Programm aus:

    java LocalDateGet

    Sie sollten eine Ausgabe ähnlich dieser sehen:

    Date : 2021-05-17
    Day of the month: 17
    
    Date : 2021-05-17
    Day of the week: 1

    Da der 17. Mai 2021 ein Montag war und ChronoField.DAY_OF_WEEK den Montag als 1 repräsentiert, ist die Ausgabe Day of the week: 1 korrekt.

Abrufen des Tages des Jahres

Schließlich fügen Sie eine Methode hinzu, um den Tag des Jahres abzurufen. Das Feld ChronoField.DAY_OF_YEAR repräsentiert den Tag des Jahres, wobei 1 der 1. Januar ist usw.

  1. Öffnen Sie die Datei LocalDateGet.java im Code-Editor der WebIDE.

  2. Fügen Sie die Methode getDayOfYear() innerhalb der LocalDateGet-Klasse unterhalb der Methode getDayOfWeek() hinzu:

    import java.time.LocalDate;
    import java.time.temporal.ChronoField;
    import java.time.temporal.TemporalAccessor;
    import java.time.temporal.TemporalField;
    
    public class LocalDateGet {
    
        // ... (getDayOfMonth and getDayOfWeek methods as defined previously) ...
    
        public static void getDayOfYear() {
            // Define the field to retrieve: DAY_OF_YEAR
            TemporalField field = ChronoField.DAY_OF_YEAR;
            // Create a LocalDate object for May 17, 2021
            TemporalAccessor date = LocalDate.of(2021, 5, 17);
    
            // Display the original date
            System.out.println("Date : " + date);
    
            // Retrieve the day of the year using the get() method
            int val = date.get(field);
    
            // Display the retrieved day of the year
            System.out.println("Day of the year: " + val);
            System.out.println(); // Add a blank line for better readability
        }
    
        public static void main(String[] args) {
            // ... (main method as defined previously) ...
        }
    }
  3. Speichern Sie die Datei LocalDateGet.java.

  4. Rufen Sie nun diese letzte Methode von Ihrer main-Methode auf. Aktualisieren Sie die main-Methode wie folgt:

    public static void main(String[] args) {
        getDayOfMonth();
        getDayOfWeek();
        getDayOfYear(); // Call the new method
    }
  5. Speichern Sie die Datei erneut.

  6. Kompilieren Sie Ihren Java-Code vom Terminal aus:

    javac LocalDateGet.java
  7. Führen Sie das kompilierte Java-Programm aus:

    java LocalDateGet

    Sie sollten die vollständige Ausgabe sehen, einschließlich des Tages des Jahres:

    Date : 2021-05-17
    Day of the month: 17
    
    Date : 2021-05-17
    Day of the week: 1
    
    Date : 2021-05-17
    Day of the year: 137

    Der 17. Mai 2021 war der 137. Tag des Jahres, daher ist die Ausgabe Day of the year: 137 korrekt.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie man die get()-Methode der Java-Klasse LocalDate verwendet, um bestimmte Felder von Datumsangaben abzurufen. Sie haben ein Programm erstellt, das den Tag des Monats, den Wochentag und den Tag des Jahres für dasselbe Datum (17. Mai 2021) abruft. Durch die Verwendung der get()-Methode zusammen mit dem ChronoField-Enum können Sie effizient spezifische Datumskomponenten extrahieren und Ihre Java-Programme präziser gestalten, wenn Sie mit Zeitdaten arbeiten.