0

我试图updated_at在我的应用程序中获取时间戳以反映我的时区。它们在本地正确显示,但是当它们在productionHeroku 上时,它们会反映标准 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包含时间戳。时间戳显示 UTC 时间,我希望它们显示我在中央时区更新它的时间,这样时间不会比我做的时间早 5 小时。updated_atentry

4

2 回答 2

1

更新以回答更新后的问题。

如果您的应用程序的时区始终为“中央”,您可以为 ApplicationController 设置时区

Time.zone = 'Central Time (US & Canada)'
于 2012-08-06T20:40:48.003 回答
0

我正在显示时间戳entry.updated_at.localtime.strftime('* %a, %b %-e, %Y @ %l:%M%p')。我认为那里的localtime方法与它有关。我删除localtime并添加%Zstrftime参数的末尾以添加缩写时区。现在它显示了我想要的方式。我不确定是如何localtime影响它的,但删除它似乎已经解决了这个问题。

于 2012-08-06T22:41:22.620 回答