我一直在调查在UTC和不同时区之间转换时时间出现错误的问题。我发现这是由于我在rails上使用了"beginning_of_week"方法。
剥离所有的应用程序逻辑,我的问题的核心是:irb(main):018:0> Time.now.in_time_zone('Eastern Time (US & Canada)')
=> Sun, 10 Mar 2013 23:29:09 EDT -04:00
irb(main):019:0> Time.now.in_time_zone('Eastern Time (US & Canada)').beginning_of_week
=> Mon, 04 Mar 2013 00:00:00 EST -05:00
正如你所看到的,一周的开始是设置的,但是在这个过程中它将偏移量从"-04:00"更改为"-05:00"。
有人知道这个补丁或解决方案吗?或者我需要实现自己的beginning_of_week逻辑吗?
请注意现在的完整时区规范:
Sun, 10 Mar 2013 23:29:09 EDT -04:00
# ------------------------^^^
和一周的开始:
Mon, 04 Mar 2013 00:00:00 EST -05:00
# ------------------------^^^
2013-03-10的时钟发生了什么可怕的事情?为什么会发生讨厌的夏令时调整。