how can I get the GMT offset in javascript of the client?
new Date().getTimezoneOffset();
returns the difference from UTC. Is there a way I can calculate the GMT offset from that?
By GMT offset, I mean as in -5 for eastern standard time.
new Date().getTimezoneOffset(); returns the difference from UTC. Is there a way I can calculate the GMT offset from that?
The timezone offset is the difference from GMT in minutes (see ECMA-262 §15.9.5.26 ). The sign is the reverse of ISO 8601, but it's easily converted to hours and minutes with a more standard sign:
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
If you want to determine the IANA timezone designation, you can try pellepim jstimezonedetect , however it works by guessing based on the offset for two dates and may not be correct.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.