【问题标题】:Javascript GMT/BST dates on a BST machineBST 机器上的 Javascript GMT/BST 日期
【发布时间】:2013-02-21 03:31:38
【问题描述】:

我有一个始终将日期存储为 UTC 的网络应用,但它们需要分别以 GMT/BST 的形式向用户显示。

我有一个 UTC/GMT 日期(2013 年 3 月 30 日 22:00),我每小时移动一次以跨越 GMT/BST 边界。我正在使用setTime() 方法处理日期。

所以,我输入的时间戳、显示时间、UTC时间如下:

  • 1364808000 - 22:00 GMT+0000 - 22:00
  • 1364685500 - 23:00 GMT+0000 - 23:00
  • 1364688000 - 00:00 GMT+0000 - 00:00
  • 1364691600 - 02:00 GMT+0100 - 01:00
  • 1364695200 - 03:00 GMT+0100 - 02:00
  • 1364698800 - 04:00 GMT+0100 - 03:00

机器在GMT时,输出:

  • 1364808000 - 22:00 GMT+0000 - 22:00
  • 1364685500 - 23:00 GMT+0000 - 23:00
  • 1364688000 - 00:00 GMT+0000 - 00:00
  • 1364691600 - 02:00 GMT+0100 - 01:00
  • 1364695200 - 03:00 GMT+0100 - 02:00
  • 1364698800 - 04:00 GMT+0100 - 03:00

机器在BST时,输出:

  • 1364808000 - 22:00 GMT+0000 - 22:00
  • 1364685500 - 23:00 GMT+0000 - 23:00
  • 1364688000 - 00:00 GMT+0000 - 00:00
  • 1364691600 - 00:00 GMT+0000 - 01:00
  • 1364695200 - 02:00 GMT+0100 - 02:00
  • 1364698800 - 03:00 GMT+0100 - 03:00

现在,在我看来,最后 3 个日期是不正确的。

有什么想法吗?

这是一个小提琴:http://jsfiddle.net/twilson/WRbyh/

【问题讨论】:

    标签: javascript date datetime timezone timezone-offset


    【解决方案1】:

    事实证明,机器在 BST 时间时未配置为自动更改时区以匹配日期。

    因此,在 4 月 6 日,它仍被列为 GMT 标准时间,而不是 GMT 夏令时间

    勾选自动更改选项,已修复此问题。

    【讨论】:

      猜你喜欢
      • 2015-01-08
      • 1970-01-01
      • 2011-02-06
      • 2015-09-17
      • 2012-02-06
      • 1970-01-01
      • 2014-03-05
      • 1970-01-01
      • 2015-04-17
      相关资源
      最近更新 更多