我在巴西,距世界标准时间 -3 小时。我没有在 Rails 中对时区进行任何配置,我的控制台表现得很奇怪,下面是示例:
1.9.3p194 :099 > FreeTime.first.starts_at
=> 2000-01-01 11:15:26 UTC
1.9.3p194 :100 > FreeTime.first.starts_at.localtime
=> 2000-01-01 09:15:26 -0200
1.9.3p194 :101 > FreeTime.first.starts_at.localtime.zone
=> "BRST"
1.9.3p194 :102 > Time.now
=> 2013-02-25 10:24:51 -0300
1.9.3p194 :103 > Time.now.zone
=> "BRT"
1.9.3p194 :104 > Time.zone
=> (GMT+00:00) UTC
如您所见,问题在于 Rails Time 类正确地计算出我的本地区域(从我的系统时钟),但 ActiveRecord 不知何故弄错了。我想知道为什么 ActiveRecord 错误地指出我的时区是 BRST(右边是 BRT),即使我没有进行任何配置。