【问题标题】:javascript timezone weirdness: new Date() creating dates in different timezonesjavascript timezone 怪异:new Date() 在不同时区创建日期
【发布时间】:2013-10-18 04:23:16
【问题描述】:

我有一些行为怪异的 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 date


    【解决方案1】:

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

    在 11 月的第一个星期日,美国东部时间凌晨 2:00,时钟 移回美国东部标准时间凌晨 1:00,因此“复制”了一小时。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-24
      • 1970-01-01
      • 2019-03-12
      • 1970-01-01
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 2014-01-08
      相关资源
      最近更新 更多