我已经向Heroku部署了一个应用程序。应用程序将仅显示UTC时间,尽管我已经
config.time_zone = 'Mountain Time (US & Canada)'
在我的应用配置中设置,我还将密钥添加到
的heroku应用heroku config:add TZ="America/Denver"
这些值都没有区别,所有时间仍以UTC显示。
我有一个小方法以字符串格式显示时间,它在本地工作正常,我怎样才能在MST中显示时间?
def prettify_time(dt)
if dt.present?
"#{dt.strftime("%-I:%M %p") } in #{distance_of_time_in_words DateTime.now, dt}"
else
""
end
end
答案 0 :(得分:0)
我不确定您是如何分配dt
的,但我认为DateTime.now
不会给您当地时间。请改为DateTime.current
。
Rails.application.config.time_zone => "Mountain Time (US & Canada)"
DateTime.current => Wed, 05 Nov 2014 10:29:46 -0700
DateTime.now => Wed, 05 Nov 2014 17:29:51 +0000