2017-09-08 4 views
1

J'utilise Windows 10 Professionnel et mes paramètres de fuseau horaire et de région sont définis sur Brisbane/Australie (UTC + 10:00). De plus, je cours Node.js sur mon système pour une application que je construis.Où Node.js obtient son fuseau horaire et comment puis-je le définir globalement?

Je courais le suivant dans Node.js:

var x = new Date(); 
    console.log(x); 

Il est revenu ce qui suit:

2017-09-07T23: 42: 33.719Z

Avis Z à la fin de la chaîne datetime? Ceci représente l'heure Zulu. (UTC + 0)

Je présume que cela est défini par défaut dans Node.js lorsqu'aucun fuseau horaire n'est spécifié. Comment puis-je spécifier globalement le fuseau horaire dans Node.js afin de m'assurer que tous les objets de date a sont retournés correctement?

+0

Non, 'Z' représente UTC ~ https://en.wikipedia.org/wiki/ISO_8601#UTC. Vous voyez cela parce que la console représente votre date sous forme de chaîne via 'Date.prototype.toISOString()'. Essayez 'console.log (x.toString())' ou 'console.log (x.toLocaleString())' – Phil

+0

Désolé, je ne voulais pas dire que vous aviez tort sur le temps "Zulu". Espérons qu'il ne soit pas tombé comme ça – Phil

+0

Est-ce que l'heure Zulu n'est pas un autre nom pour UTC (Et les deux sont représentés par 'Z')? –

Répondre

2

Vous pouvez définir l'environnement TZ env sur une chaîne de fuseau horaire.

Par exemple:

$ export TZ=Europe/Amsterdam 
$ node 

> Date() 
'Fri Sep 08 2017 03:02:57 GMT+0200 (CEST)' 


$ export TZ=America/Anchorage 
$ node 

> Date() 
'Thu Sep 07 2017 17:04:46 GMT-0800 (AKDT)' 

Vous pouvez également définir process.env.TZ lors de l'exécution:

> process.env.TZ = 'Antarctica/Mawson' 

> Date() 
'Thu Sep 07 2017 17:11:00 GMT-0800 (+05)' 

Remarque, quel que soit le fuseau horaire, new Date() UTC retours 2017-09-08T01:05:58.103Z lorsqu'il est appelé comme ça.

+0

Cela ne fonctionne que sur les systèmes * nix/OSX. Cela ne fonctionne pas sur Windows. L'OP a dit qu'ils fonctionnaient sous Windows 10. –

+0

Hmm. Merci pour la clarification @MattJohnson –