Rails时区问题
这是我的控制台:
irb(main):048:0> Time.now => 2011-04-13 00:51:50 +0200 (@stats[5] == '-' ? 0 : @stats[3]), :earn => @stats[6]) => # irb(main):050:0>
正如你所知,当我创建一个新项目updated_at和created_at是“2011-04-12 22:52:13”而不是正确的时间:2011-04-13 00:51:50
irb(main):048:0> Time.now => 2011-04-13 00:51:50 +0200 created_at: 2011-04-12 22:52:13 # +0000
默认情况下,Rails存储在+0000时区,而您当前的时区为+0200
相关话题:
- 时区与铁轨3
- Rails 3:将时区设置为当前用户时区
UPD
为了理解。 如果你设置config.time_zone = 'Copenhagen'
是什么意思?
- 时间仍将存储为
UTC +0000
- 如果你cal @ object.created_at(或任何其他日期字段),它将抵消你的时间并返回你当地的时间。
示例( config.time_zone = 'Moscow' # +0400
)
object = Object.new object.save #=> #
为什么它以+0000 UTC存储时间? 由于用户可以选择任何本地时区,因此它会自动关闭到用户时区。