📅  最后修改于: 2023-12-03 15:01:46.023000             🧑  作者: Mango
JavaScript 可以获取客户端的时区偏移量,方便开发者对日期和时间进行处理,比如在网站中显示用户本地时间等。
getTimezoneOffset()
方法getTimezoneOffset()
方法返回当前的时区偏移量,单位为分钟。负值表示西半球,正值表示东半球。
let offset = new Date().getTimezoneOffset();
可根据 offset
的值计算出当前时区的 UTC 偏移量。
Intl.DateTimeFormat().resolvedOptions().timeZone
方法这种方式会直接返回客户端所在的时区,方便直接使用。需要注意的是,这种方法在 IE 和 Safari 浏览器中可能不被支持。
let timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
// 获取当前的时区偏移量,单位为分钟
let offset = new Date().getTimezoneOffset();
// 计算 UTC 偏移量
let utcOffset = -offset / 60;
// 输出当前时区偏移量和 UTC 偏移量
console.log('当前时区偏移量: ' + offset + '分钟');
console.log('UTC 偏移量: ' + utcOffset + '小时');
// 获取客户端时区
let timeZone = null;
if (typeof Intl === 'object' && typeof Intl.DateTimeFormat === 'function') {
timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
}
if (timeZone) {
console.log('客户端时区: ' + timeZone);
} else {
console.log('客户端时区获取失败');
}
以上代码会通过控制台输出当前时区偏移量、UTC 偏移量以及客户端时区(如果能成功获取到)。
以上就是 JavaScript 获取客户端时区偏移量的方法和示例代码,开发者可以根据自己的需要选择适合自己的方式。需要注意的是,由于各浏览器的实现有所差异,建议在使用时进行兼容性测试。