// 判断是否是德国的夏令时期间
function isDST(date:any) {
var year = date.getFullYear();
var dstStart = new Date(year, 2, lastSunday(year, 2), 2); // 夏令时开始于3月最后一个星期日的2:00
var dstEnd = new Date(year, 9, lastSunday(year, 9), 3); // 夏令时结束于10月最后一个星期日的3:00
return date >= dstStart && date < dstEnd;
}
// 辅助函数,返回指定月份的最后一个星期日的日期
function lastSunday(year:any, month:any) {
var d = new Date(year, month + 1, 0);
return d.getDate() - d.getDay();
}
// 夏令时返回ture,冬令时返回false
export const isDSTime = () => {
var germanyTime = new Date();
// 如果是夏令时期间,德国时间比UTC+1还要多1小时
if (isDST(germanyTime)) {
console.log("现在是夏令时")
return true
} else {
console.log("现在是冬令时")
return false
}
}