【发布时间】:2012-11-25 00:35:39
【问题描述】:
我正在尝试将 Rails 3.2.8 应用程序中的默认时区更改为 GMT+04:00,但我不知道该怎么做。以下解决方案对我不起作用:
config.time_zone = 'Moscow'
config.time_zone = "(GMT+04:00) Moscow"
config.active_record.default_timezone = 'Moscow'
config.active_record.default_timezone = :local
我还在 rails 控制台中尝试过以下操作:
ActiveSupport::TimeZone.all.map(&:name)
它返回一个值列表,包括"Moscow"。
Time.zone 返回 (GMT+00:00) UTC 不正确,应该是 (GMT+04:00) UTC。然后我更改了Time.zone = "Moscow",Time.now 返回了正确的值(...+0400)。
所以为了修复它,我只使用了Time.now + 4.hour,但我还需要 datetime_select 来显示我的当地时间。 Time.now + 4.hour 不是正确的解决方案。
如何将默认时区设置为当地值?
【问题讨论】:
-
您是否查看了最近修订的 RailsCast 关于此主题的内容? railscasts.com/episodes/106-time-zones-revised?view=asciicast
标签: ruby ruby-on-rails-3 datetime timezone datetimeoffset