【问题标题】:Difference between UTC, GMT and Daylight saving time in JSJS中UTC,GMT和夏令时之间的差异
【发布时间】:2016-05-25 03:59:10
【问题描述】:

我已经阅读了很多帖子,对 UTC、GMT 和夏令时有点困惑。

任何人都可以用 UTC、GMT 和夏令时解释 javascript Date() 对象。

我想知道的要点是,当我们使用日期时,我们需要考虑或不考虑夏令时。

并且在不同的编程语言中,UTC、GMT和夏令时的计算是否相同。

【问题讨论】:

  • 这有点宽泛。您具体要完成什么?什么让你感到困惑?
  • UTC 和 GMT 在所有实际用途中都是相同的。 DST 不适用于两者。除此之外,你的问题太宽泛了。请阅读How do I ask a good question?

标签: javascript datetime timezone


【解决方案1】:

UTC 是标准,GMT 是时区。 UTC 使用与 GMT 相同的偏移量,即 +00:00。在讨论偏移量时,它们本质上是可以互换的。

所有 javascript (ECMAScript) 日期对象都使用自 1970-01-01T00:00:00Z 以来的 UTC 毫秒时间值。当不带任何参数调用 Date 构造函数时,它会从主机系统获取时间和时区偏移量并计算时间值。因此,生成日期的准确性取决于这些组件的准确性。

当使用 UTC 方法(例如 getUTCHours、getUTCMinutes 等)输出日期值时,值是 UTC (GMT)。当不使用这些方法(例如 getHours、getMinutes 等)时,主机系统时区偏移与时间值一起使用,以从 UTC 时间值生成“本地”值。

是否应用夏令时取决于主机系统设置。无论主机系统时区的当前规则是什么,夏令时的更改都适用于所有日期,无论该日期的实际偏移量如何(例如,如果当前 DST 在 10 月的第一个星期日开始,那么它将假定始终开始于10 月的第一个星期日)。

ECMA-262 §20.3.2 中描述了日期对象的行为,MDN Date 中更清楚地描述了(某些部分)。

【讨论】:

  • 没有解释的否决票是没有意义的。它无助于我改进答案或说服我在不合适时将其删除。
猜你喜欢
  • 1970-01-01
  • 2011-01-18
  • 2017-07-11
  • 2016-02-06
  • 2015-01-08
  • 2012-04-07
  • 2019-08-09
  • 2010-11-18
相关资源
最近更新 更多