javascript - 当我创建带有时间戳的日期时, getTimezoneOffset 是不同的

标签 javascript timezone

在我的浏览器(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/

相关文章:

javascript - 当 chutzpah 生成用于代码覆盖的 html 线束时如何使引用路径相对

javascript - 将双轴 Highcharts 中的 y 轴值转换为百万

javascript - D3 使用 for 循环链接动画

javascript - 为特定元素禁用 javascript

c# - 如何在 C# 中将字符串偏移量转换为时间跨度

java - 如何从Java中的日期字段获取特定时区的日历日期?

javascript - ExtJS 日期和时区

c# - 使用 TimeZoneInfo.ConvertTimeToUtc(DateTime, TimeZoneInfo) 方法时,在 DST 结束日期将时间从本地时间转换为 UTC 的问题

javascript - getElementsByClassName 不是 Firefox 中的函数

java - 使用 SimpleDateFormat 从带有偏移量的字符串中解析时区