【问题标题】:Rails Timezone issue when using "beginning_of_week"使用“beginning_of_week”时的 Rails 时区问题
【发布时间】:2013-03-11 03:41:19
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

    以及一周的开始:

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

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

    【讨论】:

    • 啊,当然了,我忘了美国现在这么早就开始实行夏令时了……生活在地球的另一端,但我还是应该意识到这一点!
    • @Planty:永远记住,夏令时讨厌全人类,想让我们痛苦。
    猜你喜欢
    • 2012-02-27
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多