gpt4 book ai didi

javascript - 在 Javascript 中使用 new Date ("2014 Aug 11") 和 new Date ("2014-08-11") 时的不同日期

转载 作者:行者123 更新时间:2023-12-03 21:16:03 24 4
gpt4 key购买 nike

new Date("2014 Aug 11") 给出 Mon Aug 11 2014 00:00:00 GMT+0100(GMT 夏令时) 这是正确的,但是

new Date("2014-08-11") 给出 Mon Aug 11 2014 01:00:00 GMT+0100(GMT 夏令时)

为什么这两个日期相差 1 小时?

我正在尝试减去 2 个日期,如果两个日期相同,则期望结果为“0”。但在我上面的例子中它不是零!

最佳答案

the MDN 中对此进行了完美解释在 parse 函数上(在 Date 构造函数中解析 is used):

Given a date string of "March 7, 2014", parse assumes a local time zone, but given an ISO format such as "2014-03-07" it will assume a time zone of UTC. Therefore Date objects produced using those strings will represent different moments in time unless the system is set with a local time zone of UTC

使用 GMT+2 的人会看到 2 小时的差异。

如果您不能正确解析日期并且您对作为输入获得的字符串类型有信心,您可能会强制使用时区:

var date = new Date(str+" UTC");

关于javascript - 在 Javascript 中使用 new Date ("2014 Aug 11") 和 new Date ("2014-08-11") 时的不同日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25241142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com