Analyse de dates avec SimpleDateFormat et l'indicateur de fuseau horaire 'Z'
SimpleDateFormat est un outil polyvalent pour analyser les dates en Java. Cependant, l'analyse des dates avec le littéral « Z », qui signifie l'heure UTC, peut poser un défi.
Échec de l'analyse
Lors de l'analyse d'une chaîne de date comme "2010- 04-05T17:16:00Z" en utilisant le modèle "aaaa-MM-jj'T'HH:mm:ss", SimpleDateFormat utilise le littéral "Z" comme identifiant de fuseau horaire (par exemple, EDT) et applique l'heure locale décalage de zone, entraînant une date incorrecte.
Modèles alternatifs
Pour spécifier explicitement le fuseau horaire UTC, on peut utiliser les modèles "aaaa-MM-jj'T 'HH:mm:ssz" ou "aaaa-MM-jj'T'HH:mm:ssZ." Cependant, SimpleDateFormat ne prend pas en charge nativement ces modèles.
Solution pour Java 7
Dans Java 7 et versions ultérieures, le modèle "aaaa-MM-jj'T'HH :mm:ssX" peut être utilisé pour lire et appliquer le suffixe du fuseau horaire. Ce modèle analyse correctement la date en heure UTC.
Conclusion
L'analyse des dates avec SimpleDateFormat peut être difficile lorsqu'il s'agit de désignateurs de fuseau horaire. Cependant, en comprenant les limites et en utilisant les modèles appropriés, les développeurs peuvent analyser avec précision les dates dans divers formats, y compris ceux avec le littéral « Z » représentant l'heure UTC.
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!