web-dev-qa-db-fra.com

Obtenir l'heure de sortie pour un fuseau horaire spécifique avec l'aide de JavaScript

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/

25
Yang
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>

20
Esailija
var today = new Date();  
var offset = -(today.getTimezoneOffset()/60);  
5

Il existe une bibliothèque simple pour travailler sur les fuseaux horaires, appelée TimezoneJS à l'adresse suivante: https://github.com/mde/timezone-js .

1
hdogan

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.

0
kennebec