时区Heroku

时间:2013-07-20 16:03:21

标签: ruby-on-rails date heroku timezone

所以,当我运行Heroku Rails控制台时,我会这样做:

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

当我这样做时:

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

哪个不是“真实”,因为当前的PDT时间是9:00。这里可以发生什么?我想确保Time和DateTime对象都在PDT中,因为我使用distance_of_time_in_words_to_now(my_date)并且我想确保这与PDT相关。

2 个答案:

答案 0 :(得分:4)

Time.zone返回rails时区(理论上可以根据需要进行更改 - 例如,每个用户可以更改一个)。

要获得该区域的时间,请执行

Time.zone.now

而不是

Time.now

答案 1 :(得分:3)

您需要通过以下方式抵消您的Heroku时区

heroku config:add TZ=America/Los_Angeles

然后再次运行Time.now。