216 votes

Comment puis-je définir le fuseau horaire par défaut dans node.js ?

Comment définir le fuseau horaire par défaut dans node.js ?

191voto

webjprgm Points 1136

Selon ce fil de discussion du groupe Google , vous pouvez définir la variable d'environnement TZ avant d'appeler des fonctions de date. Je viens de tester et ça marche.

 > process.env.TZ = 'Europe/Amsterdam' 
'Europe/Amsterdam'
> d = new Date()
Sat, 24 Mar 2012 05:50:39 GMT
> d.toLocaleTimeString()
'06:50:39'
> ""+d
'Sat Mar 24 2012 06:50:39 GMT+0100 (CET)'

Vous ne pouvez pas modifier le fuseau horaire plus tard, car à ce moment-là, Node a déjà lu la variable d'environnement.

88voto

uhef Points 851

Une autre approche qui m'a semblé fonctionner au moins dans l'environnement Linux consiste à exécuter votre application Node.js comme ceci :

 env TZ='Europe/Amsterdam' node server.js

Cela devrait au moins garantir que le fuseau horaire est correctement défini dès le début.

45voto

Vikas Kandari Points 293

Voici un exemple de travail à 100% pour obtenir une date et une heure de fuseau horaire personnalisé dans NodeJs sans utiliser de modules externes :

 const nDate = new Date().toLocaleString('en-US', {
  timeZone: 'Asia/Calcutta'
});

console.log(nDate);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X