Maison >Java >javaDidacticiel >Comment analyser les dates ISO 8601 avec le littéral « Z » à l'aide de SimpleDateFormat ?

Comment analyser les dates ISO 8601 avec le littéral « Z » à l'aide de SimpleDateFormat ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-04 01:46:30426parcourir

How to Parse ISO 8601 Dates with 'Z' Literal Using SimpleDateFormat?

Analyse des dates ISO 8601 avec le littéral « Z » dans SimpleDateFormat

Question :

Comment analyser une date ISO 8601 qui inclut le littéral « Z », indiquant l'heure UTC, à l'aide du SimpleDateFormat de Java ?

Problème :

Utilisation de modèles de date courants tels que "aaaa-MM-jj'T" HH:mm:ss" ou "aaaa-MM-jj'T'HH:mm:ssz" avec SimpleDateFormat entraîne une analyse incorrecte. Le littéral "Z", représentant l'heure UTC, n'est pas reconnu.

Réponse :

Pour analyser les dates ISO 8601 avec le littéral "Z" à l'aide de SimpleDateFormat, vous peut utiliser le modèle suivant :

<code class="java">yyyy-MM-dd'T'HH:mm:ssX</code>

Explication :

Le spécificateur « X » dans le modèle représente le décalage du fuseau horaire UTC au format ISO 8601. Il peut être utilisé pour analyser les dates avec le littéral « Z », qui indique un décalage de zéro par rapport à UTC.

Exemple :

<code class="java">SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");
Date date = sdf.parse("2010-04-05T17:16:00Z");

System.out.println(date);
// Output: Sun Apr 05 17:16:00 UTC 2010</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