Il semble que la fonction Date () de JavaScript ne puisse retourner que la date et l'heure locales. Est-il possible de prendre le temps d'un fuseau horaire précis, par exemple GMT-9?
En combinant @ Esailija et @ D3mon-1stVFW, j'ai compris: vous devez avoir un décalage de deux fuseaux horaires, un pour l'heure locale et un pour l'heure de destination, voici le code de fonctionnement:
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"
var today = new Date(); var offset = -(today.getTimezoneOffset()/60);
Il existe une bibliothèque simple pour travailler sur les fuseaux horaires facilement appelés TimezoneJS peut être trouvé à l' adresse 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, construisez une chaîne à partir des heures, minutes et secondes UTC après avoir ajouté le décalage.