Heim >Java >javaLernprogramm >Wie konvertiert man „java.util.Date'-Typen in „java.time'-Typen?

Wie konvertiert man „java.util.Date'-Typen in „java.time'-Typen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-05 19:05:02780Durchsuche

How to Convert `java.util.Date` to `java.time` Types?

java.util.Date in welchen „java.time“-Typ konvertieren?

Erklärung:

Das java.time-Framework bietet moderne und verbesserte Datums- und Uhrzeitklassen im Vergleich zu den alten java.util-Klassen. Dieses Framework bietet mehr Flexibilität, Präzision und Funktionalität. Wenn Sie mit Legacy-Code arbeiten, der noch java.util-Typen verwendet, ist es notwendig, zwischen den beiden Frameworks konvertieren zu können.

Konvertierungsoptionen:

1 . Von java.util.Date bis java.time.Instant:

  • Instant stellt einen bestimmten Zeitpunkt auf der UTC-Zeitleiste mit Nanosekundengenauigkeit dar.
  • Zu Konvertieren Sie von java.util.Date und verwenden Sie die Methode .toInstant() für das Date-Objekt:

    <code class="java">Instant instant = myUtilDate.toInstant();</code>

2. Von java.util.Calendar zu Instant:

  • Calendar verfolgt die Zeit intern in Millisekunden ab der Epoche.
  • Um vom Kalender zu konvertieren, verwenden Sie .toInstant( ) Methode:

    <code class="java">Instant instant = myUtilCalendar.toInstant() ;</code>

    3. Von java.util.GregorianCalendar zu ZonedDateTime:

  • GregorianCalendar enthält Zeitzoneninformationen.
  • Zum Konvertieren wandeln Sie Calendar in GregorianCalendar um und verwenden Sie .toZonedDateTime() Methode zum Erhalten einer ZonedDateTime:

    <code class="java">if (myUtilCalendar instanceof GregorianCalendar) {
      GregorianCalendar gregCal = (GregorianCalendar) myUtilCalendar;
      ZonedDateTime zdt = gregCal.toZonedDateTime();
    }</code>

4. Von Instant zu anderen java.time-Typen:

  • OffsetDateTime: Stellt einen Zeitpunkt mit einem Offset von UTC dar (z. B. „-04:00“ für Eastern Time).
  • ZonedDateTime: Stellt einen Zeitpunkt mit einer bestimmten Zeitzone dar.
  • LocalDate: Stellt ein Datum ohne Uhrzeit oder Zeitzone dar.
  • LocalTime: Stellt eine Uhrzeit ohne Datum und Uhrzeit dar Zone.
  • LocalDateTime: Stellt sowohl ein Datum als auch eine Uhrzeit ohne Zeitzone dar (nur für grobe Näherungen).

Konvertierungen von java.time-Typen in java.util .Date:

  • Um von Instant in Date zu konvertieren, extrahieren Sie den Instant und wenden Sie dann .toInstant() auf das Date an:

    <code class="java">java.util.Date myUtilDate = java.util.Date.from(instant);</code>
  • Ähnliche Konvertierungen können von OffsetDateTime und ZonedDateTime durchgeführt werden.

Hinweis:

Bei der Konvertierung von java.time-Typen in java.util-Typen kann die Genauigkeit beeinträchtigt sein verloren, weil java.util.Date und java.util.Calendar nur Millisekunden verarbeiten, während java.time-Typen eine Genauigkeit im Nanosekundenbereich haben.

Das obige ist der detaillierte Inhalt vonWie konvertiert man „java.util.Date'-Typen 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