gpt4 book ai didi

javascript时区怪异: new Date() creating dates in different timezones

转载 作者:行者123 更新时间:2023-11-30 12:55:08 25 4
gpt4 key购买 nike

我有一些运行异常的 javascript。我创建了两个日期,但它们随机地位于不同的时区,这让我在计算两者之间的差异时感到困惑。我在 EST 时区,但由于某种原因,第一个日期被创建为 EDT 日期。

基本上我的问题是为什么这个 javascript 会产生它所产生的输出

var xstartTime = new Date(startYear, StartMonth, StartDay, StartHour, StartMinute, 0, 0);
var xendTime = new Date(EndYear, EndMonth, EndDay, EndHour, EndMinute, 0, 0);
console.log("StartMinute" + StartMinute + "StartHour" + StartHour + "StartDay" + StartDay + "StartMonth" + StartMonth + "startYear" + startYear);
console.log(xstartTime);
console.log("EndMinute" + EndMinute + "EndHour" + EndHour + "EndDay" + EndDay + "EndMonth" + EndMonth + "EndYear" + EndYear);
console.log(xendTime);

StartMinute0StartHour0StartDay3StartMonth10startYear2013

2013 年 11 月 3 日星期日 00:00:00 EDT

EndMinute59EndHour23EndDay3EndMonth10EndYear2013

2013 年 11 月 3 日星期日 23:59:00 EST

最佳答案

这不是 JavaScript 问题,它与时区有关。取自this维基百科文章:

During the first Sunday in November, at 2:00 a.m. EDT, clocks are moved back to 1:00 a.m. EST, thus "duplicating" one hour.

您的日期恰好是 2013 年 11 月的第一个星期日。xstartTime 是美国东部时间 00:00,但由于 xendTime 是在凌晨 1:00 之后,所以它的时区是美国东部时间。

关于javascript时区怪异: new Date() creating dates in different timezones,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19436270/

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