SimpleDateFormat("aaaa-MM-jj'T'HH:mm:ss'Z'") avec format de chaîne de date Z
Lorsque vous utilisez le constructeur SimpleDateFormat, vous avez défini le format de date comme "aaaa-MM-jj'T'HH:mm:ss'Z'". Le caractère « Z » à la fin de la chaîne de format indique que la date/heure se trouve dans le fuseau horaire UTC/GMT. Cependant, vous avez rencontré un problème où la sortie affiche le fuseau horaire IST au lieu de GMT/UTC.
Cela se produit car vous n'avez pas explicitement défini le fuseau horaire pour l'objet SimpleDateFormat. Bien que le caractère « Z » signifie une date dans le fuseau horaire UTC/GMT, il n'ajuste pas automatiquement l'objet date/heure à ce fuseau horaire. Pour garantir que le fuseau horaire correct est appliqué, vous devez définir le fuseau horaire à l'aide de la méthode setTimeZone.
Solution :
Pour résoudre ce problème, vous pouvez définir explicitement le fuseau horaire sur GMT/UTC en utilisant le code suivant :
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
En définissant explicitement le fuseau horaire, l'objet SimpleDateFormat représentera avec précision le date/heure dans le fuseau horaire GMT/UTC, et la sortie affichera l'heure correcte.
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!