Maison  >  Article  >  Java  >  Comment convertir entre les types java.util.Date et java.time ?

Comment convertir entre les types java.util.Date et java.time ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 08:26:31347parcourir

How to Convert Between java.util.Date and java.time Types?

Comment convertir java.util.Date en types java.time

Question : Comment convertir java.util.Date ou java .util.Calendar objets aux types de framework java.time appropriés ?

Réponse :

De java.util.Date à Instant

Pour convertir d'un java.util.Date à un Instant, utilisez la méthode toInstant :

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

De java.util.Calendar à Instant

Pour les objets java.util.Calendar, utilisez la méthode toInstant :

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

De java.util.GregorianCalendar à ZonedDateTime

Pour convertir un java.util.GregorianCalendar en ZonedDateTime, utilisez la méthode toZonedDateTime :

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

De OffsetDateTime à java.util.Date

Extrayez un instant de OffsetDateTime et utilisez-le pour créer un java.util.Date :

<code class="java">java.util.Date myUtilDate = java.util.Date.from(odt.toInstant());</code>

De ZonedDateTime à java.util.Date

De même, extrayez un instant du ZonedDateTime :

<code class="java">java.util.Date myUtilDate = java.util.Date.from(zdt.toInstant());</code>

De ZonedDateTime au GregorianCalendar

Convertissez un ZonedDateTime en un GregorianCalendar à l'aide de la méthode from :

<code class="java">java.util.Calendar myUtilCalendar = java.util.GregorianCalendar.from(zdt);</code>

De LocalDate à ZonedDateTime

Passer d'un LocalDate à un ZonedDateTime nécessite de spécifier un fuseau horaire :

<code class="java">LocalDate localDate = zdt.toLocalDate();
ZonedDateTime zdt = localDate.atStartOfDay(zoneId);</code>

De LocalTime à ZonedDateTime

De même, pour LocalTime :

<code class="java">LocalTime localTime = zdt.toLocalTime();
ZonedDateTime zdt = ZonedDateTime.of(localDate, localTime, zoneId);</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn