Comment convertir la date UTC Javascript en heure de l'Est

Les gens expriment souvent les fuseaux horaires du monde entier comme des décalages positifs ou négatifs par rapport au temps universel coordonné, ou UTC. L'UTC est l'heure standard basée sur l'heure atomique internationale et, dans le cadre d'une utilisation occasionnelle, elle est considérée comme équivalente à l'heure moyenne de Greenwich (GMT). En utilisant le langage de script JavaScript, vous pouvez facilement convertir l'heure UTC en heure de l'Est.

Étape 1

Instanciez un objet Date JavaScript en appelant le constructeur Date(), en lui passant comme seul paramètre la méthode UTC() (par exemple, pour minuit le 1er janvier 2000, heure UTC, « var fooDay = new Date(Date.UTC(2000 ,0,1,0,0,0,0))")). UTC() est une méthode statique qui renvoie le nombre de millisecondes écoulées depuis minuit le 1er janvier 1970, heure UTC. Sa syntaxe est Date.UTC (année, mois, jour, heures, minutes, secondes, millisecondes), où tous les arguments sont exprimés sous forme de chiffres. Les trois premiers arguments sont obligatoires tandis que les autres arguments sont facultatifs. Cet objet Date représente l'heure que vous souhaitez convertir, exprimée dans votre heure locale.

Étape 2

Calculez la différence de temps en millisecondes entre l'heure UTC et votre heure locale et stockez le résultat dans une variable. Pour calculer votre décalage local, appelez la méthode getTimezoneOffset() de votre objet Date et multipliez sa valeur de retour par 60 000 (par exemple, « var localOffset = fooDay.getTimezoneOffset() * 60000 »). Vous multipliez par 60 000 pour convertir les minutes en millisecondes (1 000 millisecondes en une seconde * 60 secondes en une minute = 60 000 millisecondes).

Étape 3

Obtenez la valeur UTC en millisecondes de votre objet Date en appelant sa méthode getTime() et en ajoutant la valeur de retour à votre décalage local (par exemple, "var fooUTC = fooDay.getTime() + localOffset").

Étape 4

Créez une constante pour représenter le décalage du fuseau horaire de l'Est en millisecondes (par exemple, "const EAST = 3600000 * -5"). Vous multipliez par 3 600 000 pour convertir les heures en millisecondes (1 000 millisecondes en une seconde * 60 secondes en une minute * 60 minutes en une heure = 3 600 000 millisecondes), et vous multipliez par -5 car l'heure de l'Est a cinq heures de retard sur l'heure UTC.

Instanciez un autre objet Date en appelant le constructeur Date(), en lui passant comme paramètre unique la somme de la valeur UTC du premier objet Date et de votre constante de décalage de fuseau horaire de l'Est (par exemple, "var barDay = new Date(fooUTC + EAST )”). Cet objet Date représente votre date UTC d'origine, maintenant convertie en heure de l'Est.