在开始前大家可以先了解下 时区
夏令时
早在92年之前,我们国家实行过一段时间的夏令时,后来取消了
现在其他国家有的还在实行夏令时,因为地理位置不一样,所以各个国家的夏令时开始时间和结束时间也不一样;2020年全球各个国家夏令时
-
夏令时开始当日,0~24点 会少一小时 ,如下图,
时间突然从1:59:59 直接到了3:00:00
这样计算当天时间差值的时候会少一小时; -
夏令时结束: 反之,结束的时候会增加一小时;
如何判断夏令时
//判断是否为夏令时
Date.prototype.isDST = function () {
// Generate test dates
var Jan1 = new Date(this.getFullYear(), 0);
var Jul1 = new Date(this.getFullYear(), 6);
// DST in the Northern hemisphere is "fall back"
if (Jan1.getTimezoneOffset() > Jul1.getTimezoneOffset() && this.getTimezoneOffset() != Jan1.getTimezoneOffset()) {
return true;
};
// DST in Southern hemisphere is "leap ahead"
if (Jan1.getTimezoneOffset() < Jul1.getTimezoneOffset() && this.getTimezoneOffset() != Jul1.getTimezoneOffset()) {
return true;
};
// We're not in DST
return false;
};
由于南北半球;夏令时正好相反;
如果你的产品有全球业务,在夏令时开始的日期当天,时间戳处理这块要多注意下;
希望对大家有帮助;