我正在尝试在我的应用中获取updated_at
时间戳以反映我的时区。它们在本地正确显示,但当它们在Heroku上production
时,它们反映了标准UTC。我已将此添加到我的Heroku配置中:
$ heroku config:add TZ=America/Minneapolis
在我的application.rb
我还添加了:
config.time_zone = 'Central Time (US & Canada)'
config.active_record.default_timezone = 'Central Time (US & Canada)'
Heroku上的时间戳仍然显示UTC时间,我是UTC / GMT -5:00。有人知道我错过了什么或做错了吗?
当我在项目中显示entries
时,我会在每个updated_at
文本的底部添加时间戳entry
。时间戳显示UTC时间,我希望它们显示我在中心时区更新它的时间,这样我的时间就不会超过5小时。
答案 0 :(得分:1)
更新以回答更新的问题。
如果您的应用的时区始终为“中心”,则可以为ApplicationController设置时区
Time.zone = 'Central Time (US & Canada)'
答案 1 :(得分:0)
我正在使用entry.updated_at.localtime.strftime('* %a, %b %-e, %Y @ %l:%M%p')
显示时间戳。我认为在那里使用localtime
方法与它有关。我删除了localtime
并将%Z
添加到strftime
参数的末尾以添加缩写的时区。现在它正在显示我想要的方式。我不确定localtime
是如何影响它的,但删除它似乎解决了这个问题。