我有一些表现得很奇怪的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
EndMinute59EndHour23EndDay3EndMonth10EndYear2013
Sun Nov 3 23:59:00 EST 2013
答案 0 :(得分:3)
这不是JavaScript问题,而是与时区有关。取自this维基百科文章:
在11月的第一个星期日,美国东部时间凌晨2点,时钟是 回到美国东部时间凌晨1点,“重复”一小时。
您的约会对象是2013年11月的第一个星期日。xstartTime
是美国东部时间00:00,但由于xendTime
是凌晨1点以后,其时区是美国东部时间。