Lorsque vous travaillez avec des fuseaux horaires en Java, il est impératif d'utiliser des identifiants de zone appropriés pour éviter les incohérences causées par l'heure d'été (DST ). L'heure d'été peut perturber les calculs de temps si elle n'est pas gérée correctement.
Dans votre cas spécifique, l'utilisation de « EST » comme identifiant de fuseau horaire est problématique. « EST » représente l'heure normale de l'Est, qui ne s'ajuste pas à l'heure d'été. Cela entraîne l'impression par votre application d'une heure de moins que l'heure réelle à l'heure d'été.
Pour résoudre ce problème, utilisez l'identifiant de zone complet « Amérique/New_York » au lieu de « EST ». Ce fuseau représente le fuseau horaire de l’Est, qui s’ajuste automatiquement à l’heure d’été. En utilisant un identifiant de zone approprié, votre code récupérera toujours l'heure correcte, quelle que soit l'heure d'été.
Voici un extrait de code mis à jour utilisant l'identifiant de zone correct :
<code class="java">TimeZone zone = TimeZone.getTimeZone("America/New_York"); DateFormat format = DateFormat.getDateTimeInstance(); format.setTimeZone(zone); System.out.println(format.format(new Date()));</code>
Avec cet ajustement, votre application imprimera systématiquement l'heure EST, en tenant compte de l'heure d'été.
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!