在我的浏览器(firefox)中,我执行了这个简单的代码:
new Date().getTimezoneOffset();
new Date(1444824485080).getTimezoneOffset();
第一行返回-60。我是法国人,所以这是我的时区。但第二行返回-120。这怎么可能 ?我相信 1444824485080 只是一个时间戳(自 1970 年 1 月 1 日以来的毫秒数)。它如何影响用它创建的日期的时区?
最佳答案
该时间戳为 2015 年 10 月 14 日,当时法国采用中欧夏令时 - 与 UTC+2 存在偏移。今天,即 2015 年 12 月 11 日,夏令时尚未生效,因此使用标准中欧时间 UTC+1 偏移量。
这是时区的本质,尤其是那些采用夏令时的时区。请参阅the timezone tag wiki中的“时区!=偏移” ,并阅读the dst tag wiki这样您就可以了解其影响。
visualization here应该也有帮助。
关于javascript - 当我创建带有时间戳的日期时, getTimezoneOffset 是不同的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34228671/