Konvertierung von java.util.Date in java.time.LocalDate
Problem:
Wie können Sie ein java.util.Date-Objekt effizient in das neuere java.time.LocalDate-Format konvertieren, das in eingeführt wurde? JDK 8/JSR-310?
Kurze Antwort:
Um die Konvertierung zu erreichen, verwenden Sie den folgenden Code:
Date input = new Date(); LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Java 9-Lösung:
Eine effizientere Alternative wurde in Java SE hinzugefügt 9:
Date input = new Date(); LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
Erklärung:
Anders als der Name vermuten lässt, bezeichnet ein java.util.Date-Objekt einen Zeitpunkt und nicht ein bestimmtes Datum. Um ein java.util.Date in ein kompatibles java.time.LocalDate zu konvertieren, sind die folgenden Schritte erforderlich:
Dieser Konvertierungsprozess berücksichtigt die Tatsache, dass ein java.util.Date keine Zeitzoneninformationen enthält. Die Angabe der Zeitzone ermöglicht die genaue Umrechnung auf ein bestimmtes lokales Datum.
Das obige ist der detaillierte Inhalt vonWie kann man java.util.Date effizient in java.time.LocalDate konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!