Heim  >  Artikel  >  Java  >  Wie konvertiert man zwischen Java 8 LocalDateTime und java.util.Date?

Wie konvertiert man zwischen Java 8 LocalDateTime und java.util.Date?

DDD
DDDOriginal
2024-11-19 19:57:02324Durchsuche

How to Convert Between Java 8 LocalDateTime and java.util.Date?

Konvertierung zwischen Java 8 LocalDateTime und java.util.Date

Konvertierung von java.util.Date in LocalDateTime:

Um ein java.util.Date-Objekt in ein LocalDateTime zu konvertieren, Konvertieren Sie zunächst das Datum mit der toInstant()-Methode in einen Zeitpunkt:

Date in = new Date();
Instant instant = in.toInstant();

Erstellen Sie dann mit LocalDateTime.ofInstant() ein LocalDateTime-Objekt und geben Sie die gewünschte Zeitzone an:

LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());

Konvertieren von LocalDateTime in java.util.Date:

Um a LocalDateTime zurück in ein java.util.Date, konvertieren Sie es zunächst mit den Methoden atZone() und toInstant() in ein Instant:

LocalDateTime ldt = ...
ZonedDateTime zdt = ldt.atZone(ZoneId.systemDefault());
Instant instant = zdt.toInstant();

Erstellen Sie abschließend ein neues java.util.Date-Objekt aus dem Instant :

Date out = Date.from(instant);

Überlegungen:

  • Die Konvertierung von LocalDateTime zu ZonedDateTime kann aufgrund der Sommerzeit zu unerwartetem Verhalten führen.
  • Roundtripping zwischen java.util.Date und LocalDateTime kann aufgrund der Sommerzeit zu einem anderen Zeitpunkt führen.
  • java .time.* verwendet für alle Datumsangaben das ISO-Kalendersystem, während java.util.Date den gregorianischen Kalender nach dem 15. Oktober 1582 und den julianischen verwendet Kalender vorher.

Das obige ist der detaillierte Inhalt vonWie konvertiert man zwischen Java 8 LocalDateTime und java.util.Date?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn