2013-07-20 4 views
1

Alors, quand je lance la Rails Heroku Console et je fais:Fuseau horaire Heroku

irb(main):005:0> Time.zone 
=> (GMT-08:00) Pacific Time (US & Canada) 

Et quand je fais:

irb(main):004:0> Time.now 
    => 2013-07-20 16:00:38 +0000 

Ce qui est pas "vrai", car l'heure actuelle PDT est 9h00 Que peut-il se passer ici? Je veux m'assurer que les deux objets Time et DateTime seront dans PDT, parce que j'utilise un distance_of_time_in_words_to_now(my_date) et je veux m'assurer que c'est lié au PDT.

+0

'Time.zone.now' =>' Sam 20 juillet 2013 09:10:25 PDT - 07: 00' essayer cela sur la console Heroku et voir si vous obtenez un résultat similaire – house9

+0

house9 génial. Cependant, comment pourrais-je faire la même chose avec DateTime? J'ai besoin de définir une date spécifique avec l'heure spécifique dans cette zone particulière, et DateTime.zone n'existe pas. De plus, je dois m'assurer que distance_of_time_in_words_to_now prend réellement en compte la zone définie. –

+0

Je suppose que 'distance_of_time_in_words_to_now' utilise Time.zone.now - mais si cela vous inquiète utilisez' distance_of_time_in_words (Time.zone.now, my_date) 'à la place - si vous définissez le thread actuel sur votre fuseau horaire travail 'voir see http://railscasts.com/episodes/106-time-zones-revised - et pour votre DateTime essayez d'utiliser 'in_time_zone' - pas sûr si cela sera nécessaire mais -' DateTime.parse ("2013-07 -20 10:00:00 "). In_time_zone ('Heure de l'Est (États-Unis et Canada)') – house9

Répondre

4

Time.zone renvoie le fuseau horaire des rails (qui peut en théorie être modifié autant que vous le souhaitez - un fuseau horaire différent pour chaque utilisateur par exemple).

Pour obtenir le temps dans cette zone, faire

Time.zone.now 

au lieu de

Time.now 
3

Vous devez décaler votre fuseau horaire avec Heroku:

heroku config:add TZ=America/Los_Angeles 

Ensuite, exécutez Time.now à nouveau.

+0

heroku config: ajouter TZ = America/Los_Angeles, pouvez-vous me dire où l'ajouter dans Node.js? ...................................... https://stackoverflow.com/questions/ 44715072/comment définir une zone-horaire-pour-heroku/44715172? Noredirect = 1 # comment76412658_44715172 –