【问题标题】:new Date('2016-10-31') returning Sun Oct 30 2016new Date('2016-10-31') 返回 2016 年 10 月 30 日星期日
【发布时间】:2017-03-13 13:10:22
【问题描述】:

我在亚速尔群岛,昨天(2016 年 10 月 30 日)时区已从 GMT+0000 (AZOST) 更改为 GMT-0100 (AZOT)。

现在new Date('2016-10-31') 正在返回Sun Oct 30 2016 23:00:00 GMT-0100 (AZOT)

这是 JavaScript Date 对象的正确行为吗?我期待输出是Mon Oct 31 2016...

【问题讨论】:

    标签: javascript date datetime time timezone


    【解决方案1】:

    来自this documentation(强调我的):

    注意:使用 Date 构造函数解析日期字符串(以及 Date.parse,它们是等效的)强烈建议由于 浏览器的差异和不一致。支持 RFC 2822 格式 字符串只是按照惯例。 对 ISO 8601 格式的支持在以下方面有所不同 仅日期字符串(例如“1970-01-01”)被视为 UTC,而不是 本地。

    【讨论】:

    • 如果您直到昨天还住在GMT+0000,您可能还没有注意到差异。
    猜你喜欢
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    • 2018-07-25
    • 2016-06-08
    • 2020-09-26
    相关资源
    最近更新 更多