Heim  >  Artikel  >  Java  >  Wie konvertiere ich java.util.Date in java.time-Typen?

Wie konvertiere ich java.util.Date in java.time-Typen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-04 03:05:30636Durchsuche

How do I convert java.util.Date to java.time types?

Konvertieren von java.util.Date in java.time-Typen

Problem: Konvertieren zwischen java.util.Date oder java.util.Calendar-Objekte und java.time-Framework-Typen können verwirrend sein. Es ist von entscheidender Bedeutung, die Typen und ihre Zuordnungen zu verstehen.

Lösung:

Java 8 führte das java.time-Framework ein, das mehrere Typen zur Manipulation von Datum und Uhrzeit bietet. Der geeignete java.time-Typ zur Übereinstimmung mit einer java.util.Date-Instanz wird durch die erforderliche Genauigkeit und Zeitzone bestimmt.

Typen und Konvertierungen:

  • Instant: Stellt einen Zeitpunkt in UTC dar, ähnlich wie java.util.Date. Verwenden Sie Instant.ofEpochMilli(myUtilDate.getTime()) zum Konvertieren.
  • OffsetDateTime: Eine Wanduhrzeit mit einem Offset von UTC. Wenden Sie einen Offset auf einen Instant an, um einen OffsetDateTime zu erstellen. Verwenden Sie OffsetDateTime.ofInstant(instant, ZoneOffset).
  • ZonedDateTime: Eine Wanduhrzeit mit einer bestimmten Zeitzone. Wenden Sie eine ZoneId auf einen Instant an, um eine ZonedDateTime zu erstellen. Verwenden Sie ZonedDateTime.ofInstant(instant, ZoneId).
  • LocalDate: Ein Datum ohne Uhrzeit oder Zeitzone. Erhalten Sie ein LocalDate, indem Sie ein ZonedDateTime durchlaufen: ZonedDateTime.toLocalDate().
  • LocalTime: Eine Tageszeit ohne Datum oder Zeitzone. Erhalten Sie auf ähnliche Weise eine LocalTime von einer ZonedDateTime: ZonedDateTime.toLocalTime().
  • LocalDateTime: Eine Kombination aus Datum und Uhrzeit ohne Zeitzone. Beachten Sie, dass dies möglicherweise selten verwendet wird, da es sich um einen unspezifischen Zeitpunkt handelt. Verwenden Sie ZonedDateTime.toLocalDateTime().

Konvertierungsfallen:

  • Bei der Konvertierung von java.time nach java.util , kann die Präzision verloren gehen (Nanosekunden werden auf Millisekunden gekürzt).
  • Bei der Konvertierung von java.util.Date in LocalDate oder LocalDateTime ist eine Zeitzone erforderlich, um das Datum oder die Uhrzeit zu bestimmen.

Fazit:

Das Verständnis der Zuordnung zwischen den Typen java.util.Date oder java.util.Calendar und java.time ist für eine nahtlose Zusammenarbeit unerlässlich. Java.time bietet eine robuste und genaue Datums-/Uhrzeitverarbeitung und die Konvertierung zwischen dem alten und dem neuen Framework wird durch praktische Methoden unterstützt.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich java.util.Date in java.time-Typen?. 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