Il semble que la fonction Date () de JavaScript ne puisse renvoyer que la date et l'heure locales. Est-il possible d'obtenir l'heure pour un fuseau horaire spécifique, par exemple GMT-9?
En combinant @ Esailija et @ D3mon-1stVFW, j'ai compris: vous devez disposer de deux fuseaux horaires: un pour l'heure locale et un pour l'heure de destination, voici le code de travail:
var today = new Date();
var localoffset = -(today.getTimezoneOffset()/60);
var destoffset = -4;
var offset = destoffset-localoffset;
var d = new Date( new Date().getTime() + offset * 3600 * 1000)
Un exemple est ici: http://jsfiddle.net/BBzyN/3/
var offset = -8;
new Date( new Date().getTime() + offset * 3600 * 1000).toUTCString().replace( / GMT$/, "" )
"Wed, 20 Jun 2012 08:55:20"
<script>
var offset = -8;
document.write(
new Date(
new Date().getTime() + offset * 3600 * 1000
).toUTCString().replace( / GMT$/, "" )
);
</script>
var today = new Date();
var offset = -(today.getTimezoneOffset()/60);
Il existe une bibliothèque simple pour travailler sur les fuseaux horaires, appelée TimezoneJS à l'adresse suivante: https://github.com/mde/timezone-js .
Vous pouvez toujours obtenir l'heure GMT (tant que l'horloge du client est correcte).
Pour afficher une date dans un fuseau horaire arbitraire, créez une chaîne à partir des heures, minutes et secondes UTC après avoir ajouté le décalage.