offset = new Date().getTimezoneOffset();
根据计算机时钟或浏览器的时区,您可以获得时区偏移量。 有没有办法根据ip位置获得时区偏移?
答案 0 :(得分:0)
http://ip-api.com/处的API会返回IP地址的纬度,经度和时区。时区的格式为" America / New_York"等等,你需要将moment.js和moment-timezone.js转化为实际的小时和分钟偏移。
请记住,由于夏令时的规则,给定位置的时区偏移量不一定是常数 - 这就是为什么命名时区如" America / New_York"使用,以及为什么你需要像moment.js这样的东西来解释任何特定时间的时区偏移。
答案 1 :(得分:0)
您可以使用momentjs并像这样获取用户区域:
const moment = require('moment-timezone');
let zone = moment.tz.guess()
一旦获得了时区,就可以使用它来获取时区:
const tzn = moment().tz(zone).format('DD-MMM-YYYY HH:mm:ss Z');
有关更多说明,您可以查看一下momentjs文档:https://momentjs.com/timezone/docs/#/using-timezones/guessing-user-timezone/