Konvertieren von java.util.Date in java.time.LocalDate
Das in JDK 8/JSR-310 eingeführte Paket java.time bietet Folgendes eine modernere und umfassendere Datums- und Uhrzeit-API als die alte Klasse java.util.Date. Das Konvertieren eines java.util.Date-Objekts in das neue java.time.LocalDate kann mithilfe der folgenden Schritte effektiv erfolgen:
1. In Instant konvertieren:
Die Klasse java.util.Date stellt einen Zeitpunkt in Millisekunden seit der Epoche dar. Um ein java.util.Date-Objekt in einen Moment zu konvertieren, verwenden Sie die toInstant()-Methode.
Date input = new Date(); Instant instant = input.toInstant();
2. Zeitzone anwenden:
Ein Zeitpunkt enthält keine Zeitzoneninformationen. Um es in ein lokales Datum umzuwandeln, müssen wir eine Zeitzone anwenden. Verwenden Sie die Methode atZone() mit der gewünschten Zeitzone.
ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
3. LocalDate extrahieren:
Ein ZonedDateTime enthält sowohl das Datum und die Uhrzeit als auch die Zeitzone. Um das LocalDate zu extrahieren, verwenden Sie die Methode toLocalDate().
LocalDate date = zdt.toLocalDate();
Java 9-Vereinfachung:
Java 9 hat eine neue Methode eingeführt, um diese Konvertierung zu vereinfachen:
LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
Diese Methode konvertiert den Zeitpunkt direkt in ein LocalDate unter Verwendung der Standardzeitzone. Es ist prägnanter und effizienter als der vorherige Ansatz.
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!