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 Sie eine 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.
Öffnen Sie das Terminal in Ihrer WebIDE. Das Standardverzeichnis ist
~/project.Erstellen Sie die Datei
LocalDateGet.javamit dem Befehltouch:touch LocalDateGet.javaDieser Befehl erstellt eine leere Datei in Ihrem aktuellen Verzeichnis. Sie können die Erstellung überprüfen, indem Sie die Dateien auflisten:
lsSie sollten
LocalDateGet.javain der Ausgabe sehen.
Fügen Sie die notwendigen Imports und die Klassenstruktur hinzu
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.
Öffnen Sie die Datei
LocalDateGet.javaim Code-Editor der WebIDE.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_YEARusw.java.time.temporal.TemporalAccessor: Dieses Interface bietet schreibgeschützten Zugriff auf ein temporales Objekt, wie z.B.LocalDate. Dieget()-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.ChronoFieldimplementiert dieses Interface.
Speichern Sie die Datei
LocalDateGet.javanach dem Hinzufügen des Codes.
Den Tag des Monats abrufen
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.
Öffnen Sie die Datei
LocalDateGet.javaim Code-Editor der WebIDE.Fügen Sie die Methode
getDayOfMonth()innerhalb derLocalDateGet-Klasse, aber außerhalb dermain-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 einLocalDate-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 dieget()-Methode auf demdate-Objekt auf und übergibt dasfield(wasChronoField.DAY_OF_MONTHist), um den entsprechenden Integer-Wert zu extrahieren.
Speichern Sie die Datei
LocalDateGet.java.Rufen wir nun diese Methode von
mainauf, um sie in Aktion zu sehen. Ändern Sie Ihremain-Methode wie folgt:public static void main(String[] args) { getDayOfMonth(); // Other methods will be called here later }Speichern Sie die Datei erneut.
Öffnen Sie das Terminal und kompilieren Sie Ihren Java-Code:
javac LocalDateGet.javaWenn keine Fehler auftreten, wird die Kompilierung stillschweigend abgeschlossen.
Führen Sie das kompilierte Java-Programm aus:
java LocalDateGetSie sollten eine Ausgabe ähnlich dieser sehen:
Date : 2021-05-17 Day of the month: 17Dies bestätigt, dass die Methode
getDayOfMonth()den Tag des Monats korrekt extrahiert.
Den Wochentag abrufen
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.
Öffnen Sie die Datei
LocalDateGet.javaim Code-Editor der WebIDE.Fügen Sie die Methode
getDayOfWeek()innerhalb derLocalDateGet-Klasse unterhalb der MethodegetDayOfMonth()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) ... } }Speichern Sie die Datei
LocalDateGet.java.Rufen Sie nun diese neue Methode von Ihrer
main-Methode auf. Aktualisieren Sie diemain-Methode wie folgt:public static void main(String[] args) { getDayOfMonth(); getDayOfWeek(); // Call the new method // Other methods will be called here later }Speichern Sie die Datei erneut.
Kompilieren Sie Ihren Java-Code vom Terminal aus:
javac LocalDateGet.javaFühren Sie das kompilierte Java-Programm aus:
java LocalDateGetSie sollten eine Ausgabe ähnlich dieser sehen:
Date : 2021-05-17 Day of the month: 17 Date : 2021-05-17 Day of the week: 1Da der 17. Mai 2021 ein Montag war und
ChronoField.DAY_OF_WEEKden Montag als 1 repräsentiert, ist die AusgabeDay of the week: 1korrekt.
Den Tag des Jahres abrufen
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.
Öffnen Sie die Datei
LocalDateGet.javaim Code-Editor der WebIDE.Fügen Sie die Methode
getDayOfYear()innerhalb derLocalDateGet-Klasse unterhalb der MethodegetDayOfWeek()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) ... } }Speichern Sie die Datei
LocalDateGet.java.Rufen Sie nun diese letzte Methode von Ihrer
main-Methode auf. Aktualisieren Sie diemain-Methode wie folgt:public static void main(String[] args) { getDayOfMonth(); getDayOfWeek(); getDayOfYear(); // Call the new method }Speichern Sie die Datei erneut.
Kompilieren Sie Ihren Java-Code vom Terminal aus:
javac LocalDateGet.javaFühren Sie das kompilierte Java-Programm aus:
java LocalDateGetSie 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: 137Der 17. Mai 2021 war der 137. Tag des Jahres, daher ist die Ausgabe
Day of the year: 137korrekt.
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.



