Gitter migration: Point people to app.gitter.im (rollout pt. 1)
[gitter.git] / public / js / utils / detect-timezone.js
blob7bc074ff535b905f5fa074ffc605feadf860c99d
1 'use strict';
3 function getIana() {
4   try {
5     return new window.Intl.DateTimeFormat().resolvedOptions().timeZone;
6   } catch (e) {
7     return;
8   }
11 module.exports = function getTimezoneInfo() {
12   var d = new Date();
13   var m = d.toTimeString().match(/\(([^\)]+)\)/);
14   var abbr = (m && m[1]) || '';
15   var offset = d.getTimezoneOffset();
17   var sign = offset >= 0 ? '+' : '-';
18   offset = Math.abs(offset);
19   var hours = Math.floor(offset / 60);
20   var mins = Math.round(offset % 60);
22   return {
23     offset: sign + (hours > 9 ? hours : '0' + hours) + (mins > 9 ? mins : '0' + mins),
24     iso: sign + (hours > 9 ? hours : '0' + hours) + ':' + (mins > 9 ? mins : '0' + mins),
25     abbr: abbr,
26     iana: getIana()
27   };