getTimezoneOffset() 方法 方法返回 UTC 时间和本地时间之间的时差,以分钟为单位。

世界协调时间 (UTC) 是世界时间标准设定的时间,UTC 时间与 GMT 时间(格林威治时间)相同。

测一下我所在时区和标准时区的时间差

function myDate () {
  var d = new Date();
  var n = d.getTimezoneOffset();
  console.log(n)
}
myDate();

// PS E:\demo> node 1.js
// -480

也就是 480 分钟(8 个小时),北京时间是东八区,刚好与格林威治时间相差 8 个小时,这说明 getTimezoneOffset() 方法是很有效的。

接下来利用这个方法,判断一下当前时区是否为夏令时。

const time1 = new Date(2021, 0, 1);
const time2 = new Date(2021, 6, 1);
if (time1.getTimezoneOffset() != time2.getTimezoneOffset()) {
  console.log('夏令时');
}
else {
  console.log('非夏令时');
}


// PS E:\demo> node 1.js
// 非夏令时