0

我正在尝试将 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不是正确的解决方案。

如何将默认时区设置为其本地值?

4

1 回答 1

0

突然间,我已经定位了问题所在。我运行 Win7 并且我的 WEBrick 服务器显示正确的时间,但项目本身显示错误的时间。同时,我的生产服务器工作正常,所以很明显,问题出在操作系统上。 UPD:问题已解决。我应该在更改 application.rb 文件后重新启动 WEBrick 服务器。

于 2012-12-06T21:21:26.390 回答