如何在客户端的 JavaScript 中获取 GMT 偏移量?
new Date().getTimezoneOffset();
返回与 UTC 的差异。有没有办法可以计算出 GMT 偏移量?
按 GMT 偏移量,我的意思是东部标准时间为 -5。
最佳答案
new Date().getTimezoneOffset(); returns the difference from UTC. Is there a way I can calculate the GMT offset from that?
时区偏移是与 GMT 的分钟差(请参阅 ECMA-262 §15.9.5.26 )。该符号与 ISO 8601 相反,但可以使用更标准的符号轻松转换为小时和分钟:
function getTimezoneOffset() {
function z(n){return (n<10? '0' : '') + n}
var offset = new Date().getTimezoneOffset();
var sign = offset < 0? '+' : '-';
offset = Math.abs(offset);
return sign + z(offset/60 | 0) + z(offset%60);
}
getTimezoneOffset() // +0800 for UTC/GMT + 8hrs
如果您想确定 IANA 时区指定,可以尝试 pellepim jstimezonedetect ,但是它的工作原理是根据两个日期的偏移量进行猜测,并且可能不正确。
关于javascript - 在 JavaScript 中获取客户端的 GMT 偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24500375/