使用“beginning_of_week”时出现Rails时区问题

时间:2013-03-11 03:41:19

标签: ruby-on-rails ruby-on-rails-3.2 timezone

我一直在调查在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”。

有人知道补丁或解决方法吗?或者我需要实现自己的begin_of_week逻辑吗?

1 个答案:

答案 0 :(得分:1)

请注意现在的完整时区规范:

Sun, 10 Mar 2013 23:29:09 EDT -04:00
# ------------------------^^^

和本周的开头:

Mon, 04 Mar 2013 00:00:00 EST -05:00
# ------------------------^^^

2013-03-10时钟发生了什么可怕的事情?为什么可恶的夏令时调整发生了。你有一个小时的差异。