📅  最后修改于: 2023-12-03 15:07:41.076000             🧑  作者: Mango
在开发 Web 应用程序时,有时需要根据不同的时区显示相应的时间。因此,在 JavaScript 中获取客户端当前时区偏移量是非常必要的。
Date
对象获取时区偏移量Date
对象提供了一个 getTimezoneOffset()
方法,返回的是当前时区与 UTC 时间的偏移量,单位为分钟。
const offset = new Date().getTimezoneOffset(); // 获取当前时区距离 UTC 的偏移量(单位:分钟)
console.log(offset); // 输出当前时区偏移量
使用上述方法获取到的偏移量为正数或者负数,分别表示当前时区比 UTC 时间要早或晚多少分钟。
除了使用 Date
对象获取时区偏移量外,我们也可以使用一些第三方库,如 moment-timezone
、jsTimezoneDetect
、date-fns-timezone
等,来获取更为准确的时区偏移量。
以 moment-timezone
为例:
首先,需要引入 moment.js
和 moment-timezone.js
库,并设置要使用的时区:
import moment from 'moment';
import 'moment-timezone';
moment.tz.setDefault('Asia/Shanghai'); // 设置要使用的时区
然后,获取当前时区与 UTC 时间的偏移量:
const offset = moment().utcOffset(); // 获取当前时区距离 UTC 的偏移量(单位:分钟)
console.log(offset); // 输出当前时区偏移量
在 JavaScript 中获取客户端当前时区偏移量可以使用 Date
对象提供的 getTimezoneOffset()
方法,也可以使用一些第三方库来获取更为准确的时区偏移量。在开发 Web 应用程序时,根据不同的时区显示相应的时间是非常必要的。