Konvertieren von java.util.Date in java.time.LocalDate
Javas Datums- und Uhrzeit-API wurde in JDK 8/JSR-310 überarbeitet , Einführung eines neuen Paradigmas für die Handhabung datumsbezogener Vorgänge. Eine häufige Aufgabe bei diesem Übergang ist die Konvertierung vorhandener java.util.Date-Objekte in das neue java.time.LocalDate-Format.
Kurze Antwort
Um ein Java zu konvertieren. util.Date zu LocalDate, folgen Sie diesen Schritte:
Date input = new Date(); LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Erklärung
java.util.Date stellt einen Zeitpunkt ohne Zeitzoneninformationen dar. LocalDate stellt jedoch ein bestimmtes Kalenderdatum ohne Uhrzeit oder Zeitzone dar.
Um ein Datum in LocalDate zu konvertieren, müssen Sie Date zunächst mithilfe der toInstant()-Methode in Instant konvertieren. Einem Instant ist keine Zeitzone zugeordnet.
Als nächstes müssen Sie eine Zeitzone auf den Instant anwenden, um ein ZonedDateTime-Objekt zu erhalten. Sie können ZoneId.systemDefault() verwenden, um die Standardzeitzone des Systems abzurufen.
Schließlich können Sie die LocalDate-Komponente aus dem ZonedDateTime-Objekt mithilfe der toLocalDate()-Methode extrahieren.
Java 9-Antwort
Java SE 9 führte eine einfachere Alternative zu den oben genannten ein Konvertierung:
Date input = new Date(); LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
Diese Methode wandelt das Datum direkt in ein LocalDate um, ohne dass ein dazwischenliegendes ZonedDateTime-Objekt erforderlich ist.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich „java.util.Date' in „java.time.LocalDate'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!