我正在尝试在我的应用程序中获取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
时,我会在每个entry
文本的底部包含时间戳updated_at
。 时间戳显示 UTC 时间,我希望它们显示我在中部时区更新它的时间,这样时间就不会比我更新的时间早 5 小时。
更新以回答更新的问题。
如果应用的时区始终为"中部",则可以为 ApplicationController 设置时区
Time.zone = 'Central Time (US & Canada)'
我正在显示带有entry.updated_at.localtime.strftime('* %a, %b %-e, %Y @ %l:%M%p')
时间戳。 我认为localtime
方法与它有关。 我删除了localtime
并在strftime
参数的末尾添加了%Z
,以添加缩写的时区。 现在它以我想要的方式出现。 我不确定localtime
如何影响它,但删除它似乎已经解决了问题。