【问题标题】:What happens to milliseconds since epoch when daylight savings time begins/ends?夏令时开始/结束时,自纪元以来的毫秒数会发生什么?
【发布时间】:2014-12-29 05:22:02
【问题描述】:

自纪元以来的毫秒数表示自 1970 年以来经过的毫秒数。在夏令时结束之前的那一刻,或者当我们将时钟从 2:00 设置回 1:00 时,自纪元以来的毫秒数回退为好吧,还是他们继续?

另一个问题:如果我住在美国加利福尼亚州,它是太平洋(日光/标准)时间,那么自纪元以来的毫秒数与它在纽约的时间相同,在东部(日光/标准)时间?

【问题讨论】:

标签: time timezone epoch


【解决方案1】:

自纪元以来的毫秒数不受时区和夏令时的影响(夏令时只是将时区更改为 -1 / +1)。

自纪元以来的毫秒/秒(总是?)以 UTC(或 GMT + 0)表示。

【讨论】:

  • 是 - 它始终基于 UTC,不包括闰秒。
  • @MattJohnson:自纪元以来的毫秒“包括”或“排除”闰秒是什么意思?
  • @Mehrdad - 考虑 1972-07-01T00:00:00.000Z。由于刚刚发生了 1 个闰秒,人们可能会期望毫秒为 78796801000,但不,它仍然由 78796800000 表示。人们可以将其视为在计算中排除闰秒,或者将其包含或吸收到值中.
【解决方案2】:

自 UNIX 纪元(1970 年 1 月 1 日 00:00:00 UTC)以来的毫秒数不受 J. van Dijk 提到的夏令时和时区的影响。

要明确回答您的第二个问题,我认为这对于理解 UTC 本身很重要:如果 2 个人同时在 Java 中调用 System.currentTimeMillis() 或在 Javascript 中调用 new Date().getTime(),其中一个在加利福尼亚,一个在加利福尼亚在纽约,他们应该得到相同的毫秒数。

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 2019-12-04
    • 1970-01-01
    • 2013-08-19
    • 2016-11-28
    • 2013-05-14
    • 2011-10-24
    • 1970-01-01
    • 2021-06-11
    相关资源
    最近更新 更多