Maison > Java > javaDidacticiel > Quelle est la différence entre ZonedDateTime et OffsetDateTime

Quelle est la différence entre ZonedDateTime et OffsetDateTime

青灯夜游
Libérer: 2019-03-09 10:03:56
original
5505 Les gens l'ont consulté

ZonedDateTime et OffsetDateTime sont deux classes très populaires dans l'API Java 8 DateTime ; elles peuvent toutes deux stocker un moment précis à la nanoseconde sur une chronologie. Alors y a-t-il des différences entre eux ? L'article suivant expliquera la différence entre ZonedDateTime et OffsetDateTime. J'espère qu'il sera utile à tout le monde. [Recommandation du didacticiel vidéo : Tutoriel Java]

Quelle est la différence entre ZonedDateTime et OffsetDateTime

Qu'est-ce que ZonedDateTime ?

ZonedDateTime est une représentation immuable d'une date-heure avec des fuseaux horaires dans le système de calendrier ISO-8601 (exemple : 2007-12-03T10:15:30+01:00 Europe/ Paris). Il contient l'équivalent de trois objets distincts : localdatetime, zoneid et wanted zoneoffset.

Ici, le ZoneID détermine comment et quand le décalage change. Par conséquent, les décalages ne peuvent pas être définis librement, car la zone contrôle quels décalages sont valides.

Pour obtenir le ZonedDateTime actuel pour une zone spécifique, nous utiliserons :

ZoneId zone = ZoneId.of("Europe/Berlin");
ZonedDateTime zonedDateTime = ZonedDateTime.now(zone);
Copier après la connexion

La classe ZonedDateTime fournit également des méthodes intégrées pour convertir une date donnée d'un fuseau horaire à un autre :

ZonedDateTime destZonedDateTime = sourceZonedDateTime.withZoneSameInstant(destZoneId);
Copier après la connexion

Enfin, il comprend parfaitement l'heure d'été et gère les ajustements de l'heure d'été. C'est souvent utile lorsque l'on souhaite afficher un champ datetime dans un fuseau horaire spécifique.

Qu'est-ce que OffsetDateTime ?

OffsetDateTime est une représentation immuable de la date-heure qui est identique à l'heure UTC/Greenwich dans le système de calendrier ISO-8601 (tel que 2007-12-03T10:15:30+01 :00) Il y a un décalage. En d’autres termes, il stocke tous les champs de date et d’heure, précis à la nanoseconde près, ainsi que les décalages par rapport à GMT/UTC.

Obtenons l'OffsetDateTime actuel à partir de GMT/UTC, décalé de deux heures :

ZoneOffset zoneOffSet= ZoneOffset.of("+02:00");
OffsetDateTime offsetDateTime = OffsetDateTime.now(zoneOffSet);
Copier après la connexion

Différence entre ZonedDateTime et OffsetDateTime

ZonedDateTime :

● Stocke tous les champs de date et d'heure avec une précision de la nanoseconde, le fuseau horaire et le décalage de fuseau pour gérer les heures de date locales ambiguës

● Impossible de librement définir le décalage car la zone contrôle les valeurs de décalage valides

● Prend entièrement en charge l'heure d'été et gère les ajustements de l'heure d'été

● Très pratique pour afficher les champs date/heure dans les fuseaux horaires spécifiques à l'utilisateur

OffsetDateTime :

● Stocke tous les champs de date et d'heure avec une précision de la nanoseconde et un décalage par rapport à GMT/UTC (aucune information de fuseau horaire)

● Doit être utilisé pour stocker des dates dans une base de données ou communiquer sur le réseau

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal