1

我一直在调查在 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 逻辑?

4

1 回答 1

1

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

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

和一周的开始:

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

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

于 2013-03-11T03:51:57.123 回答