mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-25 09:55:15 +00:00
1115 lines
70 KiB
JavaScript
1115 lines
70 KiB
JavaScript
|
var _data = "Africa/Abidjan¦a2bouake,daloa,san ped1t0yamoussouk1;g,ogo;ro;b1frica/0;abi1timbuktu;i0obo;djan|Africa/Accra¦a2gh1kumasi,ta0;koradi,male;!ana;c0frica/ac0tsiaman;cra|Africa/Addis_Ababa¦a0dire dawa,mek'ele,nazret;ddis ababa,frica/addis0;|Africa/Algiers¦a5b3c2dz,oran,s1t0;ebessa,iaret;etif,idi bel abbes;hlef,onstantine;a0iskra,lida,oumerdas;b ezzouar,tna;frica/algi1lg0nnaba;eria,i0;ers|Africa/Asmera¦a0;frica/asma0sme0;ra|Africa/Asmara¦asmara|Africa/Nairobi¦africa/6e2kisumu,m1na0thika,yt;i6kuru;ayotte,ombasa;a0ldoret;st0t; africa0ern africa;! time,n;asmera,nai0;robi|Africa/Bamako¦africa/b0b0;amako|Africa/Bangui¦africa/b0b0;angui|Africa/Banjul¦africa/b0b0serekunda;anjul|Africa/Bissau¦africa/b1b1g0;uinea b0w;issau|Africa/Blantyre¦africa/b0b0lilongwe,mzuzu;lantyre|Africa/Brazzaville¦africa/b0b0pointe noire;razzaville|Africa/Bujumbura¦africa/b0b0;ujumbura|Africa/Cairo¦a3bani suwayf,cBdamanhur,eg2giza,halw5i1kafr ad dawwar,luxor,new cBport said,qina,s0tanta,zagazig;hibin al kawm,ohag,uez;dku,smail5;!ypt;frica/c7l2s0;w0yut;an; 1exandr0;ia;fayyum,m0;a0inya;hallah al kubra,nsurah;airo|Africa/Casablanca¦a9cAf8kenit7m4oujda angad,rabat,sa2t0;angier,e0;ma5touan;fi,le0;! al jadida;a1ekn3o0;hammedia,rocco;!rrakesh;ra;es;frica/c0gadir,l hoceima;asablanca|Africa/Ceuta¦africa/ceuta,ceuta0;!melilla|Africa/Conakry¦africa/co1c0;amayenne,o0;nakry|Africa/Dakar¦africa/d2d2pikine,t0;hies0ouba;! nones;akar|Africa/Dar_Es_Salaam¦africa/dar0;|Africa/Dar_es_Salaam¦arusha,d1m0tanga,zanzibar;beya,orogoro,wanza;ar es salaam,odoma|Africa/Djibouti¦africa/d0d0;jibouti|Africa/Douala¦africa/d4b1d4edea,gar2kousseri,loum,m0ngaoundere,yaounde;ar1okolo;a1ert0;oua;foussam,menda;ouala|Africa/El_Aaiun¦africa/el1e0laayoune,western sahara;h,l aaiun;|Africa/Freetown¦africa/f0etc,f0greenwich standard time;reetown|Africa/Gaborone¦africa/g0g0;aborone|Africa/Harare¦africa/h0bulawayo,chitungwiza,h0mut1;ar0;are|Africa/Johannesburg¦africa/jIbFcBdAeast londCjIk8newcastEp7r6s2tembisa,uitenhage,v1w0za;elkom,itbank;anderbijlpark,ereeniging;ast,o0prings;uth0weto; africa0ern africa;! standard time,n;andCichards bay,oodepoort;aarl,ietermaritzBort elizabeth,retoria;lerk0ruger0;sdorp;iepsloot,urb5;a1enturi0;on;pe town,rletonvil0;le;enoni,loemfontein,o1rakp0;an;ks1tshabelo;ohannes0;burg|Africa/Juba¦africa/j1j1s0winejok;outh sudan,s;uba|Africa/Kampala¦africa/k0k0;ampala|Africa/Khartoum¦a7c5el 4k2ny3omdurm1port sud1s0wad medani;d,inga,ud0;an;ass0h5osti;ala;dae4fasher,obeid;at,entral africa0;! time;d damaz1frica/kh0l qadarif;artoum;in|Africa/Kigali¦africa/k0k0;igali|Africa/Kinshasa¦africa/kin4c3ki2m0;a0bandaka;sina,tadi;kwit,n1;d,ongo;shasa|Africa/Lagos¦aUbScReQgPiLjKkaIlGmDnBo8port harcourt,s7u6w0zarC;a4est0; africa0ern africa;! 0n;standard t0t0;ime;r9st,t;gep,muah5yo;a9hagamu,okoto;kFn1w0yo;er5o;do,itsha;g,iger0newi;ia;a0in5ubi;idugu0kurdi;ri;aFek0;ki;du0no,tsi0;na;imeFos;badan,jebu ode,k1l0seBwo;a orangun,esa,or6;eBi7ot ekp0;ene;ombe,usau;bute ikorodu,fon alaaye,nugu;alabar,hakwama;auchi,en0;in;b3do2frica/la1ku0tani;re;gos; ekiti;a,eoku1u0;ja;ta|Africa/Libreville¦africa/l0l0;ibreville|Africa/Lome¦africa/l0l0;ome|Africa/Luanda¦africa/lu1huambo,l0n'dalatando;obito,u0;anda|Africa/Lubumbashi¦africa/lu5b3k2l1m0tshikapa;buji mayi,wene ditu;ikasi,u3;ananga,isanga1olwezi;e0ukavu;ni;bumbashi|Africa/Lusaka¦africa/l2k0l2ndola;ab0it0;we;usaka|Africa/Malabo¦africa/m0m0;alabo|Africa/Maputo¦africa/map4beira,chimoio,ma2na1quelimane,z0;imbabwe,w;ca1mpu1;p1to0;la;uto|Africa/Maseru¦africa/m0m0;aseru|Africa/Mbabane¦africa/m0m0;babane|Africa/Mogadishu¦africa/mo1berbera,hargeysa,jamaame,kismayo,m0;arka,o0;gadishu|Africa/Monrovia¦africa/m1l0m1;iber1r;onrov0;ia|Africa/Ndjamena¦africa/nd1chad,n0td;'d0d0;jamena|Africa/Niamey¦africa/n0n0zinder;iamey|Africa/Nouakchott¦africa/n0n0;ouakchott|Africa/Ouagadougou¦africa/o0bobo dioulasso,o0;uagadougou|Africa/Porto-novo¦africa/porto-novo|Africa/Porto-Novo¦abomey calavi,coton0djoug0porto novo;ou|Africa/Sao_Tome¦africa/sao1s0;ao tome,t;|Africa/Timbuktu¦timbuktu|Africa/Tripoli¦a3benghazi,l1misrat4t0zawi2;arh
|
||
|
|
||
|
// strings that don't pack properly
|
||
|
var misc = {
|
||
|
'gmt+0': 'etc/Gmt',
|
||
|
'gmt-0': 'etc/Gmt',
|
||
|
gmt0: 'etc/Gmt',
|
||
|
'etc/gmt+0': 'Etc/Gmt',
|
||
|
'etc/gmt-0': 'Etc/Gmt',
|
||
|
'etc/gmt0': 'Etc/Gmt',
|
||
|
'msk-01 - kaliningrad': 'Europe/Kaliningrad',
|
||
|
'msk+00 - moscow area': 'Europe/Moscow',
|
||
|
'msk+00 - crimea': 'Europe/Simferopol',
|
||
|
'msk+00 - volgograd': 'Europe/Volgograd',
|
||
|
'msk+00 - kirov': 'Europe/Kirov',
|
||
|
'msk+01 - astrakhan': 'Europe/Astrakhan',
|
||
|
'msk+01 - saratov': 'Europe/Saratov',
|
||
|
'msk+01 - ulyanovsk': 'Europe/Ulyanovsk',
|
||
|
'msk+01 - samaraudmurtia': 'Europe/Samara',
|
||
|
'msk+02 - urals': 'Asia/Yekaterinburg',
|
||
|
'msk+03 - omsk': 'Asia/Omsk',
|
||
|
'msk+04 - novosibirsk': 'Asia/Novosibirsk',
|
||
|
'msk+04 - altai': 'Asia/Barnaul',
|
||
|
'msk+04 - tomsk': 'Asia/Tomsk',
|
||
|
'msk+04 - kemerovo': 'Asia/Novokuznetsk',
|
||
|
'msk+04 - krasnoyarsk area': 'Asia/Krasnoyarsk',
|
||
|
'msk+05 - irkutskburyatia': 'Asia/Irkutsk',
|
||
|
'msk+06 - zabaykalsky': 'Asia/Chita',
|
||
|
'msk+06 - lena river': 'Asia/Yakutsk',
|
||
|
'msk+06 - tomponskyust-maysky': 'Asia/Khandyga',
|
||
|
'msk+07 - amur river': 'Asia/Vladivostok',
|
||
|
'msk+07 - oymyakonsky': 'Asia/Ust-Nera',
|
||
|
'msk+08 - magadan': 'Asia/Magadan',
|
||
|
'msk+08 - sakhalin island': 'Asia/Sakhalin',
|
||
|
'msk+08 - sakha (e) north kuril is': 'Asia/Srednekolymsk',
|
||
|
'msk+09 - kamchatka': 'Asia/Kamchatka',
|
||
|
'msk+09 - bering sea': 'Asia/Anadyr'
|
||
|
};
|
||
|
|
||
|
var seq = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
|
||
|
cache = seq.split("").reduce(function (n, o, e) {
|
||
|
return n[o] = e, n;
|
||
|
}, {}),
|
||
|
toAlphaCode = function toAlphaCode(n) {
|
||
|
if (void 0 !== seq[n]) return seq[n];
|
||
|
var o = 1,
|
||
|
e = 36,
|
||
|
t = "";
|
||
|
|
||
|
for (; n >= e; n -= e, o++, e *= 36) {
|
||
|
}
|
||
|
|
||
|
for (; o--;) {
|
||
|
var _o = n % 36;
|
||
|
|
||
|
t = String.fromCharCode((_o < 10 ? 48 : 55) + _o) + t, n = (n - _o) / 36;
|
||
|
}
|
||
|
|
||
|
return t;
|
||
|
},
|
||
|
fromAlphaCode = function fromAlphaCode(n) {
|
||
|
if (void 0 !== cache[n]) return cache[n];
|
||
|
var o = 0,
|
||
|
e = 1,
|
||
|
t = 36,
|
||
|
r = 1;
|
||
|
|
||
|
for (; e < n.length; o += t, e++, t *= 36) {
|
||
|
}
|
||
|
|
||
|
for (var _e = n.length - 1; _e >= 0; _e--, r *= 36) {
|
||
|
var _t = n.charCodeAt(_e) - 48;
|
||
|
|
||
|
_t > 10 && (_t -= 7), o += _t * r;
|
||
|
}
|
||
|
|
||
|
return o;
|
||
|
};
|
||
|
|
||
|
var encoding = {
|
||
|
toAlphaCode: toAlphaCode,
|
||
|
fromAlphaCode: fromAlphaCode
|
||
|
},
|
||
|
symbols = function symbols(n) {
|
||
|
var o = new RegExp("([0-9A-Z]+):([0-9A-Z]+)");
|
||
|
|
||
|
for (var e = 0; e < n.nodes.length; e++) {
|
||
|
var t = o.exec(n.nodes[e]);
|
||
|
|
||
|
if (!t) {
|
||
|
n.symCount = e;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
n.syms[encoding.fromAlphaCode(t[1])] = encoding.fromAlphaCode(t[2]);
|
||
|
}
|
||
|
|
||
|
n.nodes = n.nodes.slice(n.symCount, n.nodes.length);
|
||
|
};
|
||
|
|
||
|
var indexFromRef = function indexFromRef(n, o, e) {
|
||
|
var t = encoding.fromAlphaCode(o);
|
||
|
return t < n.symCount ? n.syms[t] : e + t + 1 - n.symCount;
|
||
|
},
|
||
|
toArray = function toArray(n) {
|
||
|
var o = [],
|
||
|
e = function e(t, r) {
|
||
|
var s = n.nodes[t];
|
||
|
"!" === s[0] && (o.push(r), s = s.slice(1));
|
||
|
var c = s.split(/([A-Z0-9,]+)/g);
|
||
|
|
||
|
for (var _s = 0; _s < c.length; _s += 2) {
|
||
|
var u = c[_s],
|
||
|
i = c[_s + 1];
|
||
|
if (!u) continue;
|
||
|
var l = r + u;
|
||
|
|
||
|
if ("," === i || void 0 === i) {
|
||
|
o.push(l);
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
var f = indexFromRef(n, i, t);
|
||
|
e(f, l);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
return e(0, ""), o;
|
||
|
},
|
||
|
unpack = function unpack(n) {
|
||
|
var o = {
|
||
|
nodes: n.split(";"),
|
||
|
syms: [],
|
||
|
symCount: 0
|
||
|
};
|
||
|
return n.match(":") && symbols(o), toArray(o);
|
||
|
};
|
||
|
|
||
|
var unpack_1 = unpack,
|
||
|
unpack_1$1 = function unpack_1$1(n) {
|
||
|
var o = n.split("|").reduce(function (n, o) {
|
||
|
var e = o.split("¦");
|
||
|
return n[e[0]] = e[1], n;
|
||
|
}, {}),
|
||
|
e = {};
|
||
|
return Object.keys(o).forEach(function (n) {
|
||
|
var t = unpack_1(o[n]);
|
||
|
"true" === n && (n = !0);
|
||
|
|
||
|
for (var _o2 = 0; _o2 < t.length; _o2++) {
|
||
|
var r = t[_o2];
|
||
|
!0 === e.hasOwnProperty(r) ? !1 === Array.isArray(e[r]) ? e[r] = [e[r], n] : e[r].push(n) : e[r] = n;
|
||
|
}
|
||
|
}), e;
|
||
|
};
|
||
|
|
||
|
var efrtUnpack_min = unpack_1$1;
|
||
|
|
||
|
var isOffset = /(\-?[0-9]+)h(rs)?/i;
|
||
|
var isNumber = /(\-?[0-9]+)/;
|
||
|
var utcOffset = /utc([\-+]?[0-9]+)/i;
|
||
|
var gmtOffset = /gmt([\-+]?[0-9]+)/i;
|
||
|
|
||
|
var toIana = function toIana(num) {
|
||
|
num = Number(num);
|
||
|
|
||
|
if (num > -13 && num < 13) {
|
||
|
num = num * -1; //it's opposite!
|
||
|
|
||
|
num = (num > 0 ? '+' : '') + num; //add plus sign
|
||
|
|
||
|
return 'Etc/GMT' + num;
|
||
|
}
|
||
|
|
||
|
return null;
|
||
|
};
|
||
|
|
||
|
var parseOffset = function parseOffset(tz) {
|
||
|
// '+5hrs'
|
||
|
var m = tz.match(isOffset);
|
||
|
|
||
|
if (m !== null) {
|
||
|
return toIana(m[1]);
|
||
|
} // 'utc+5'
|
||
|
|
||
|
|
||
|
m = tz.match(utcOffset);
|
||
|
|
||
|
if (m !== null) {
|
||
|
return toIana(m[1]);
|
||
|
} // 'GMT-5' (not opposite)
|
||
|
|
||
|
|
||
|
m = tz.match(gmtOffset);
|
||
|
|
||
|
if (m !== null) {
|
||
|
var num = Number(m[1]) * -1;
|
||
|
return toIana(num);
|
||
|
} // '+5'
|
||
|
|
||
|
|
||
|
m = tz.match(isNumber);
|
||
|
|
||
|
if (m !== null) {
|
||
|
return toIana(m[1]);
|
||
|
}
|
||
|
|
||
|
return null;
|
||
|
};
|
||
|
|
||
|
var parseOffset_1 = parseOffset;
|
||
|
|
||
|
var lexicon = efrtUnpack_min(_data);
|
||
|
lexicon = Object.assign(lexicon, misc); // add some redundant data that didn't pack properly
|
||
|
|
||
|
Object.keys(lexicon).filter(function (k) {
|
||
|
var val = lexicon[k].toLowerCase();
|
||
|
|
||
|
if (lexicon[val] === undefined) {
|
||
|
lexicon[val] = lexicon[k];
|
||
|
}
|
||
|
}); //try to match these against iana form
|
||
|
|
||
|
var normalizeOne = function normalizeOne(tz) {
|
||
|
tz = tz.replace(/^in /g, '');
|
||
|
tz = tz.replace(/ time/g, '');
|
||
|
tz = tz.replace(/ (standard|daylight|summer)/g, '');
|
||
|
tz = tz.replace(/ - .*/g, ''); //`Eastern Time - US & Canada`
|
||
|
|
||
|
tz = tz.replace(/, .*/g, ''); //`mumbai, india`
|
||
|
|
||
|
return tz.trim();
|
||
|
}; //some more aggressive transformations
|
||
|
|
||
|
|
||
|
var normalizeTwo = function normalizeTwo(tz) {
|
||
|
tz = tz.replace(/\b(east|west|north|south)ern/g, '$1');
|
||
|
tz = tz.replace(/\b(africa|america|australia)n/g, '$1');
|
||
|
tz = tz.replace(/\beuropean/g, 'europe');
|
||
|
tz = tz.replace(/\islands/g, 'island');
|
||
|
tz = tz.replace(/.*\//g, '');
|
||
|
return tz.trim();
|
||
|
}; // even-more agressive
|
||
|
|
||
|
|
||
|
var normalizeThree = function normalizeThree(tz) {
|
||
|
tz = tz.replace(/\(.*\)/, '');
|
||
|
return tz.trim();
|
||
|
}; //
|
||
|
|
||
|
|
||
|
var find = function find(str) {
|
||
|
if (!str) {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
str = str.toLowerCase().trim(); // lookup known abbreviations
|
||
|
|
||
|
if (lexicon.hasOwnProperty(str)) {
|
||
|
return lexicon[str];
|
||
|
} // -8hrs
|
||
|
|
||
|
|
||
|
if (/[0-9]/.test(str)) {
|
||
|
var etc = parseOffset_1(str);
|
||
|
|
||
|
if (etc) {
|
||
|
return etc;
|
||
|
}
|
||
|
} // start fuzzy-match against iana timezones
|
||
|
|
||
|
|
||
|
str = normalizeOne(str);
|
||
|
|
||
|
if (lexicon.hasOwnProperty(str)) {
|
||
|
return lexicon[str];
|
||
|
} // 'eastern daylight'
|
||
|
|
||
|
|
||
|
var tmp = str + ' time';
|
||
|
|
||
|
if (lexicon.hasOwnProperty(tmp)) {
|
||
|
return lexicon[tmp];
|
||
|
} // 'pacific'
|
||
|
|
||
|
|
||
|
tmp = str + ' standard time';
|
||
|
|
||
|
if (lexicon.hasOwnProperty(tmp)) {
|
||
|
return lexicon[tmp];
|
||
|
} // -- harder normalizations --
|
||
|
|
||
|
|
||
|
str = normalizeTwo(str);
|
||
|
|
||
|
if (lexicon.hasOwnProperty(str)) {
|
||
|
return lexicon[str];
|
||
|
} // -- HARDER normalizations --
|
||
|
|
||
|
|
||
|
str = normalizeThree(str);
|
||
|
|
||
|
if (lexicon.hasOwnProperty(str)) {
|
||
|
return lexicon[str];
|
||
|
} // 'eastern daylight'
|
||
|
|
||
|
|
||
|
tmp = str + ' time';
|
||
|
|
||
|
if (lexicon.hasOwnProperty(tmp)) {
|
||
|
return lexicon[tmp];
|
||
|
} // 'pacific'
|
||
|
|
||
|
|
||
|
tmp = str + ' standard time';
|
||
|
|
||
|
if (lexicon.hasOwnProperty(tmp)) {
|
||
|
return lexicon[tmp];
|
||
|
}
|
||
|
|
||
|
return null;
|
||
|
};
|
||
|
|
||
|
var find_1 = find;
|
||
|
|
||
|
//From https://Github.com/Mj1856/Timezonenames
|
||
|
// and from https://Github.com/Nodatime/Nodatime/Blob/Master/Data/Cldr/Windowszones-35.xml
|
||
|
var _05Metazones = [//gmt-0, with daylight savings
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Greenwich Standard Time',
|
||
|
abbrev: 'GMT'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'British Summer Time',
|
||
|
abbrev: 'BST'
|
||
|
},
|
||
|
alias: ['british', 'britain'],
|
||
|
pick: 'Europe/London',
|
||
|
zones: ['Europe/Guernsey', 'Europe/Isle_Of_Man', 'Europe/Jersey', 'Europe/London']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Greenwich Standard Time',
|
||
|
abbrev: 'GMT'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Irish Summer Time',
|
||
|
abbrev: 'IST'
|
||
|
},
|
||
|
alias: ['ireland'],
|
||
|
zones: ['Europe/Dublin']
|
||
|
}, //gmt-0, no daylight savings
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Greenwich Standard Time',
|
||
|
abbrev: 'GMT'
|
||
|
},
|
||
|
pick: 'Africa/Freetown',
|
||
|
alias: ['etc', 'utc'],
|
||
|
zones: ['Africa/Abidjan', 'Africa/Accra', 'Africa/Bamako', 'Africa/Banjul', 'Africa/Bissau', 'Africa/Conakry', 'Africa/Dakar', 'Africa/Freetown', 'Africa/Lome', 'Africa/Monrovia', 'Africa/Nouakchott', 'Africa/Ouagadougou', 'Africa/Sao_Tome', 'America/Danmarkshavn', 'Antarctica/Troll', 'Atlantic/Reykjavik', 'Atlantic/St_Helena', 'ETC/GMT']
|
||
|
}, //North america
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Central Standard Time',
|
||
|
abbrev: 'CST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Central Daylight Time',
|
||
|
abbrev: 'CDT'
|
||
|
},
|
||
|
pick: 'America/Chicago',
|
||
|
zones: ['America/Bahia_Banderas', 'America/Belize', 'America/Chicago', 'America/Costa_Rica', 'America/El_Salvador', 'America/Guatemala', 'America/Indiana', 'America/Managua', 'America/Matamoros', 'America/Menominee', 'America/Merida', 'America/Mexico_City', 'America/Monterrey', 'America/North_Dakota', 'America/North_Dakota', 'America/North_Dakota', 'America/Rainy_River', 'America/Rankin_Inlet', 'America/Regina', 'America/Resolute', 'America/Swift_Current', 'America/Tegucigalpa', 'America/Winnipeg']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Mountain Standard Time',
|
||
|
abbrev: 'MST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Mountain Daylight Time',
|
||
|
abbrev: 'MDT'
|
||
|
},
|
||
|
pick: 'America/Denver',
|
||
|
zones: ['America/Boise', 'America/Cambridge_Bay', 'America/Creston', 'America/Dawson_Creek', 'America/Denver', 'America/Edmonton', 'America/Fort_Nelson', 'America/Inuvik', 'America/Ojinaga', 'America/Phoenix', 'America/Yellowknife', // add mexico
|
||
|
'America/Chihuahua', 'America/Hermosillo', 'America/Mazatlan']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Atlantic Standard Time',
|
||
|
abbrev: 'AST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Atlantic Daylight Time',
|
||
|
abbrev: 'ADT'
|
||
|
},
|
||
|
pick: 'America/Halifax',
|
||
|
zones: ['America/Anguilla', 'America/Antigua', 'America/Aruba', 'America/Barbados', 'America/Blanc-sablon', 'America/Curacao', 'America/Dominica', 'America/Glace_Bay', 'America/Goose_Bay', 'America/Grenada', 'America/Guadeloupe', 'America/Halifax', 'America/Kralendijk', 'America/Lower_Princes', 'America/Marigot', 'America/Martinique', 'America/Moncton', 'America/Montserrat', 'America/Port_Of_Spain', 'America/Puerto_Rico', 'America/Santo_Domingo', 'America/St_Barthelemy', 'America/St_Kitts', 'America/St_Lucia', 'America/St_Thomas', 'America/St_Vincent', 'America/Thule', 'America/Tortola', 'Atlantic/Bermuda']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Eastern Standard Time',
|
||
|
abbrev: 'EST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Eastern Daylight Time',
|
||
|
abbrev: 'EDT'
|
||
|
},
|
||
|
pick: 'America/New_York',
|
||
|
zones: ['America/Cancun', 'America/Cayman', 'America/Coral_Harbour', 'America/Detroit', 'America/Grand_Turk', 'America/Indiana', 'America/Indianapolis', 'America/Iqaluit', 'America/Jamaica', 'America/Kentucky', 'America/Louisville', 'America/Nassau', 'America/New_York', 'America/Nipigon', 'America/Panama', 'America/Pangnirtung', 'America/Port-au-prince', 'America/Thunder_Bay', 'America/Toronto', 'America/Montreal']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Pacific Standard Time',
|
||
|
abbrev: 'PST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Pacific Daylight Time',
|
||
|
abbrev: 'PDT'
|
||
|
},
|
||
|
pick: 'America/Los_Angeles',
|
||
|
zones: ['America/Dawson', 'America/Los_Angeles', 'America/Tijuana', 'America/Vancouver', 'America/Whitehorse']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Alaskan Standard Time',
|
||
|
abbrev: 'AHST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Alaskan Daylight Time',
|
||
|
abbrev: 'AHDT'
|
||
|
},
|
||
|
pick: 'America/Anchorage',
|
||
|
zones: ['America/Anchorage', 'America/Juneau', 'America/Metlakatla', 'America/Nome', 'America/Sitka', 'America/Yakutat']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Hawaiian Standard Time',
|
||
|
abbrev: 'HST'
|
||
|
},
|
||
|
alias: ['aleutian', 'hawaii'],
|
||
|
pick: 'Pacific/Honolulu',
|
||
|
zones: ['America/Adak', 'Pacific/Honolulu', 'Pacific/Johnston']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Newfoundland Standard Time',
|
||
|
abbrev: 'NST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Newfoundland Daylight Time',
|
||
|
abbrev: 'NDT'
|
||
|
},
|
||
|
pick: 'America/St_Johns',
|
||
|
zones: ['America/St_Johns']
|
||
|
}, ///Europe
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Central European Time',
|
||
|
abbrev: 'CET'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Central European Summer Time',
|
||
|
abbrev: 'CEST'
|
||
|
},
|
||
|
alias: ['romance', 'central europe'],
|
||
|
pick: 'Europe/Berlin',
|
||
|
zones: ['Africa/Algiers', 'Africa/Ceuta', 'Africa/Tunis', 'arctic/Longyearbyen', 'Europe/Amsterdam', 'Europe/Andorra', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Budapest', 'Europe/Busingen', 'Europe/Copenhagen', 'Europe/Gibraltar', 'Europe/Ljubljana', 'Europe/Luxembourg', 'Europe/Madrid', 'Europe/Malta', 'Europe/Monaco', 'Europe/Oslo', 'Europe/Paris', 'Europe/Podgorica', 'Europe/Prague', 'Europe/Rome', 'Europe/San_Marino', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Stockholm', 'Europe/Tirane', 'Europe/Vaduz', 'Europe/Vatican', 'Europe/Vienna', 'Europe/Warsaw', 'Europe/Zagreb', 'Europe/Zurich']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Eastern European Time',
|
||
|
abbrev: 'EET'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Eastern European Summer Time',
|
||
|
abbrev: 'EEST'
|
||
|
},
|
||
|
alias: ['eastern europe'],
|
||
|
pick: 'Europe/Riga',
|
||
|
zones: ['Africa/Cairo', 'Africa/Tripoli', 'Asia/Amman', 'Asia/Beirut', 'Asia/Damascus', 'Asia/Famagusta', 'Asia/Gaza', 'Asia/Hebron', 'Asia/Nicosia', 'Europe/Athens', 'Europe/Bucharest', 'Europe/Chisinau', 'Europe/Helsinki', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Mariehamn', 'Europe/Riga', 'Europe/Sofia', 'Europe/Tallinn', 'Europe/Uzhgorod', 'Europe/Vilnius', 'Europe/Zaporozhye']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Western European Time',
|
||
|
abbrev: 'WET'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Western European Summer Time',
|
||
|
abbrev: 'WEST'
|
||
|
},
|
||
|
alias: ['western europe'],
|
||
|
pick: 'Europe/Lisbon',
|
||
|
zones: ['Africa/Casablanca', 'Africa/El_Aaiun', 'Atlantic/Canary', 'Atlantic/Faeroe', 'Atlantic/Madeira', 'Europe/Lisbon']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Turkey Standard Time',
|
||
|
abbrev: 'TRT'
|
||
|
},
|
||
|
alias: ['turkish'],
|
||
|
pick: 'Europe/Istanbul',
|
||
|
zones: ['Europe/Istanbul']
|
||
|
}, // samara: ['Europe/Samara', 'Europe/Saratov'],
|
||
|
//Africa
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'East Africa Time',
|
||
|
abbrev: 'EAT'
|
||
|
},
|
||
|
alias: ['east african', 'eastern africa'],
|
||
|
pick: 'Africa/Nairobi',
|
||
|
zones: ['Africa/Addis_Ababa', 'Africa/Asmera', 'Africa/Dar_Es_Salaam', 'Africa/Djibouti', 'Africa/Juba', 'Africa/Kampala', 'Africa/Mogadishu', 'Africa/Nairobi', 'Indian/Antananarivo', 'Indian/Comoro', 'Indian/Mayotte']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Central Africa Time',
|
||
|
abbrev: 'CAT'
|
||
|
},
|
||
|
pick: 'Africa/Khartoum',
|
||
|
alias: ['central africa'],
|
||
|
zones: ['Africa/Blantyre', 'Africa/Bujumbura', 'Africa/Gaborone', 'Africa/Harare', 'Africa/Khartoum', 'Africa/Kigali', 'Africa/Lubumbashi', 'Africa/Lusaka', 'Africa/Maputo', 'Africa/Windhoek']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'South Africa Standard Time',
|
||
|
abbrev: 'SAST'
|
||
|
},
|
||
|
alias: ['southern africa', 'south african'],
|
||
|
pick: 'Africa/Johannesburg',
|
||
|
zones: ['Africa/Johannesburg', 'Africa/Maseru', 'Africa/Mbabane']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'West Africa Standard Time',
|
||
|
abbrev: 'WAT'
|
||
|
},
|
||
|
alias: ['western africa', 'west african'],
|
||
|
pick: 'Africa/Lagos',
|
||
|
zones: ['Africa/Bangui', 'Africa/Brazzaville', 'Africa/Douala', 'Africa/Kinshasa', 'Africa/Lagos', 'Africa/Libreville', 'Africa/Luanda', 'Africa/Malabo', 'Africa/Ndjamena', 'Africa/Niamey', 'Africa/Porto-novo']
|
||
|
}, //Australia
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Australian Central Standard Time',
|
||
|
abbrev: 'ACST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Australian Central Daylight Time',
|
||
|
abbrev: 'ACDT'
|
||
|
},
|
||
|
alias: ['australia central'],
|
||
|
pick: 'Australia/Adelaide',
|
||
|
zones: ['Australia/Adelaide', 'Australia/Broken_Hill', 'Australia/Darwin']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Australian Eastern Standard Time',
|
||
|
abbrev: 'AEST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Australian Eastern Daylight Time',
|
||
|
abbrev: 'AEDT'
|
||
|
},
|
||
|
alias: ['australia east'],
|
||
|
pick: 'Australia/Brisbane',
|
||
|
zones: ['Australia/Brisbane', 'Australia/Currie', 'Australia/Hobart', 'Australia/Lindeman', 'Australia/Melbourne', 'Australia/Sydney']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Australian Western Standard Time',
|
||
|
abbrev: 'AWST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Australian Western Daylight Time',
|
||
|
abbrev: 'AWDT'
|
||
|
},
|
||
|
alias: ['australia west'],
|
||
|
pick: 'Australia/Perth',
|
||
|
zones: ['Antarctica/Casey', 'Australia/Perth']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Australian Central Western Standard Time',
|
||
|
abbrev: 'ACWST'
|
||
|
},
|
||
|
alias: ['australia central west'],
|
||
|
pick: 'Australia/Eucla',
|
||
|
zones: ['Australia/Eucla']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Lord Howe Standard Time',
|
||
|
abbrev: 'LHST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Lord Howe Daylight Time',
|
||
|
abbrev: 'LHDT'
|
||
|
},
|
||
|
pick: 'Australia/Lord_Howe',
|
||
|
zones: ['Australia/Lord_Howe']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'New Zealand Standard Time',
|
||
|
abbrev: 'NZST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'New Zealand Daylight Time',
|
||
|
abbrev: 'NZDT'
|
||
|
},
|
||
|
pick: 'Pacific/Auckland',
|
||
|
zones: ['Antarctica/Mcmurdo', 'Pacific/Auckland']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Chatham Island Standard Time',
|
||
|
abbrev: 'CHAST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Chatham Island Daylight Time',
|
||
|
abbrev: 'CHADT'
|
||
|
},
|
||
|
pick: 'Pacific/Chatham',
|
||
|
zones: ['Pacific/Chatham']
|
||
|
}, //Russia
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Russian Standard Time',
|
||
|
abbrev: 'MSK'
|
||
|
},
|
||
|
alias: ['russian'],
|
||
|
pick: 'Europe/Moscow',
|
||
|
zones: ['Europe/Astrakhan', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Simferopol', 'Europe/Ulyanovsk', 'Europe/Kirov']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Volgograd Time',
|
||
|
abbrev: 'VOLT'
|
||
|
},
|
||
|
zones: ['Europe/Volgograd']
|
||
|
}, //South america
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Brazil Time',
|
||
|
abbrev: 'BRT'
|
||
|
},
|
||
|
alias: ['brasília', 'brasilia', 'brazilian'],
|
||
|
pick: 'America/Sao_Paulo',
|
||
|
zones: ['America/Araguaina', 'America/Bahia', 'America/Belem', 'America/Fortaleza', 'America/Maceio', 'America/Recife', 'America/Santarem', 'America/Sao_Paulo']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Argentina Time',
|
||
|
abbrev: 'ART'
|
||
|
},
|
||
|
alias: ['argentinian'],
|
||
|
pick: 'America/Buenos_Aires',
|
||
|
zones: ['America/Argentina', 'America/Buenos_Aires', 'America/Catamarca', 'America/Cordoba', 'America/Jujuy', 'America/Mendoza']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Amazon Time',
|
||
|
abbrev: 'AMT'
|
||
|
},
|
||
|
alias: ['amazonian'],
|
||
|
pick: 'America/Manaus',
|
||
|
zones: ['America/Boa_Vista', 'America/Campo_Grande', 'America/Cuiaba', //Has dst?
|
||
|
'America/Manaus', 'America/Porto_Velho']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Easter Island Standard Time',
|
||
|
abbrev: 'EAST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Easter Island Summer Time',
|
||
|
abbrev: 'EASST'
|
||
|
},
|
||
|
zones: ['Chile/EasterIsland']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Venezuelan Standard Time',
|
||
|
abbrev: 'VET'
|
||
|
},
|
||
|
alias: ['venezuela'],
|
||
|
zones: ['America/Caracas']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Paraguay Time',
|
||
|
abbrev: 'PYT'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Paraguay Summer Time',
|
||
|
abbrev: 'PYST'
|
||
|
},
|
||
|
zones: ['America/Asuncion']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Cuba Standard Time',
|
||
|
abbrev: 'CST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Cuba Daylight Time',
|
||
|
abbrev: 'CDT'
|
||
|
},
|
||
|
alias: ['cuban'],
|
||
|
zones: ['America/Havana']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Bolivia Time',
|
||
|
abbrev: 'BOT'
|
||
|
},
|
||
|
alias: ['bolivian'],
|
||
|
zones: ['America/La_Paz']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Colombia Time',
|
||
|
abbrev: 'COT'
|
||
|
},
|
||
|
alias: ['colombian'],
|
||
|
zones: ['America/Bogota']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Acre Time',
|
||
|
abbrev: 'ACT'
|
||
|
},
|
||
|
pick: null,
|
||
|
zones: ['America/Eirunepe', 'America/Rio_Branco']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Peru Time',
|
||
|
abbrev: 'PET'
|
||
|
},
|
||
|
zones: ['America/Lima']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Chile Standard Time',
|
||
|
abbrev: 'CLST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Chile Summer Time',
|
||
|
abbrev: 'CLDT'
|
||
|
},
|
||
|
pick: null,
|
||
|
zones: ['America/Punta_Arenas', 'America/Santiago', 'Antarctica/Palmer']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Uruguay Time',
|
||
|
abbrev: 'UYT'
|
||
|
},
|
||
|
zones: ['America/Montevideo']
|
||
|
}, // argentina_Western: ['America/Argentina/San_Luis'],
|
||
|
// french_Guiana: ['America/Cayenne'],
|
||
|
// greenland_Western: ['America/Godthab'],
|
||
|
// ecuador: ['America/Guayaquil'],
|
||
|
// guyana: ['America/Guyana'],
|
||
|
// pierre_Miquelon: ['America/Miquelon'],
|
||
|
// noronha: ['America/Noronha'],
|
||
|
// suriname: ['America/Paramaribo'],
|
||
|
// mexico_Northwest: ['America/Santa_Isabel'],
|
||
|
//Middle-east
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Arabic Standard Time',
|
||
|
abbrev: 'AST'
|
||
|
},
|
||
|
pick: 'Asia/Baghdad',
|
||
|
alias: ['arabic', 'arab'],
|
||
|
zones: ['Asia/Aden', 'Asia/Baghdad', 'Asia/Bahrain', 'Asia/Kuwait', 'Asia/Qatar', 'Asia/Riyadh']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Iran Standard Time',
|
||
|
abbrev: 'IRST'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Iran Daylight Time',
|
||
|
abbrev: 'IRDT'
|
||
|
},
|
||
|
alias: ['iranian'],
|
||
|
pick: 'Asia/Tehran',
|
||
|
zones: ['Asia/Tehran']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Pakistan Standard Time',
|
||
|
abbrev: 'PKT'
|
||
|
},
|
||
|
pick: 'Asia/Karachi',
|
||
|
zones: ['Asia/Karachi']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'India Standard Time',
|
||
|
abbrev: 'IST'
|
||
|
},
|
||
|
alias: ['indian'],
|
||
|
pick: 'Asia/Kolkata',
|
||
|
zones: ['Asia/Kolkata', 'Asia/Colombo']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Indochina Time',
|
||
|
abbrev: 'ICT'
|
||
|
},
|
||
|
alias: ['South East Asia'],
|
||
|
pick: 'Asia/Bangkok',
|
||
|
zones: ['Asia/Bangkok', 'Asia/Phnom_Penh', 'Asia/Saigon', 'Asia/Vientiane']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'China Standard Time',
|
||
|
abbrev: 'CT'
|
||
|
},
|
||
|
//cst?
|
||
|
alias: ['chinese'],
|
||
|
pick: 'Asia/Shanghai',
|
||
|
zones: ['Asia/Macau', 'Asia/Shanghai', 'Asia/Taipei']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Alma-Ata Time',
|
||
|
abbrev: 'ALMT'
|
||
|
},
|
||
|
pick: 'Asia/Almaty',
|
||
|
zones: ['Asia/Almaty', 'Asia/Qostanay']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Oral Time',
|
||
|
abbrev: 'ORAT'
|
||
|
},
|
||
|
pick: 'Asia/Oral',
|
||
|
zones: ['Asia/Aqtau', 'Asia/Aqtobe', 'Asia/Atyrau', 'Asia/Oral', 'Asia/Qyzylorda']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Yakutsk Time',
|
||
|
abbrev: 'YAKT'
|
||
|
},
|
||
|
pick: 'Asia/Yakutsk',
|
||
|
zones: ['Asia/Chita', 'Asia/Khandyga', 'Asia/Yakutsk']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Gulf Standard Time',
|
||
|
abbrev: 'GST'
|
||
|
},
|
||
|
pick: 'Asia/Dubai',
|
||
|
alias: ['uae'],
|
||
|
zones: ['Asia/Dubai', 'Asia/Muscat']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Hong Kong Time',
|
||
|
abbrev: 'HKT'
|
||
|
},
|
||
|
zones: ['Asia/Hong_Kong']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Western Indonesian Time',
|
||
|
abbrev: 'WIB'
|
||
|
},
|
||
|
alias: ['indonesia'],
|
||
|
//most of it
|
||
|
zones: ['Asia/Jakarta', 'Asia/Pontianak', 'Asia/Jayapura']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Central Indonesian Time',
|
||
|
abbrev: 'WITA'
|
||
|
},
|
||
|
zones: ['Asia/Makassar']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Israel Daylight Time',
|
||
|
abbrev: 'IDT'
|
||
|
},
|
||
|
daylight: {
|
||
|
name: 'Israel Standard Time',
|
||
|
abbrev: 'IST'
|
||
|
},
|
||
|
alias: ['israeli'],
|
||
|
zones: ['Asia/Jerusalem']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Krasnoyarsk Time',
|
||
|
abbrev: 'KRAT'
|
||
|
},
|
||
|
zones: ['Asia/Krasnoyarsk', 'Asia/Novokuznetsk', 'Asia/Barnaul']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Malaysia Time',
|
||
|
abbrev: 'MYT'
|
||
|
},
|
||
|
zones: ['Asia/Kuala_Lumpur', 'Asia/Kuching']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Singapore Time',
|
||
|
abbrev: 'SGT'
|
||
|
},
|
||
|
zones: ['Asia/Singapore']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Korea Standard Time',
|
||
|
abbrev: 'KST'
|
||
|
},
|
||
|
pick: 'Asia/Seoul',
|
||
|
alias: ['korean'],
|
||
|
zones: ['Asia/Pyongyang', 'Asia/Seoul']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Uzbekistan Time',
|
||
|
abbrev: 'UZT'
|
||
|
},
|
||
|
zones: ['Asia/Samarkand', 'Asia/Tashkent']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Vladivostok Time',
|
||
|
abbrev: 'VLAT'
|
||
|
},
|
||
|
pick: 'Asia/Vladivostok',
|
||
|
zones: ['Asia/Ust-nera', 'Asia/Vladivostok']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Anadyr Time',
|
||
|
abbrev: 'ANAT'
|
||
|
},
|
||
|
zones: ['Asia/Anadyr']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Turkmenistan Time',
|
||
|
abbrev: 'TMT'
|
||
|
},
|
||
|
zones: ['Asia/Ashgabat']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Azerbaijan Time',
|
||
|
abbrev: 'AZT'
|
||
|
},
|
||
|
zones: ['Asia/Baku']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Kyrgyzstan Time',
|
||
|
abbrev: 'KGT'
|
||
|
},
|
||
|
zones: ['Asia/Bishkek']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Brunei Darussalam Time',
|
||
|
abbrev: 'BNT'
|
||
|
},
|
||
|
zones: ['Asia/Brunei']
|
||
|
}, // choibalsan: ['Asia/Choibalsan'],
|
||
|
// { standard: { name: 'Bangladesh Standard Time', abbrev: 'BST' }, zones: ['Asia/Dhaka'] },
|
||
|
// east_Timor: ['Asia/Dili'],
|
||
|
// tajikistan: ['Asia/Dushanbe'],
|
||
|
// hovd: ['Asia/Hovd'],
|
||
|
// irkutsk: ['Asia/Irkutsk'],
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Afghanistan Time',
|
||
|
abbrev: 'AFT'
|
||
|
},
|
||
|
zones: ['Asia/Kabul']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Kamchatka Time',
|
||
|
abbrev: 'PETT'
|
||
|
},
|
||
|
zones: ['Asia/Kamchatka']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Nepal Time',
|
||
|
abbrev: 'NPT'
|
||
|
},
|
||
|
zones: ['Asia/Katmandu']
|
||
|
}, // magadan: ['Asia/Magadan'],
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Philippine Time',
|
||
|
abbrev: 'PHT'
|
||
|
},
|
||
|
zones: ['Asia/Manila']
|
||
|
}, // novosibirsk: ['Asia/Novosibirsk'],
|
||
|
// omsk: ['Asia/Omsk'],
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Myanmar Time',
|
||
|
abbrev: 'MMT'
|
||
|
},
|
||
|
zones: ['Asia/Rangoon']
|
||
|
}, // sakhalin: ['Asia/Sakhalin'],
|
||
|
// srednekolymsk: ['Asia/Srednekolymsk'],
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Georgia Standard Time',
|
||
|
abbrev: 'GET'
|
||
|
},
|
||
|
zones: ['Asia/Tbilisi']
|
||
|
}, // bhutan: ['Asia/Thimphu'],
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Japan Standard Time',
|
||
|
abbrev: 'JST'
|
||
|
},
|
||
|
zones: ['Asia/Tokyo']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Ulaanbaatar Time',
|
||
|
abbrev: 'ULAT'
|
||
|
},
|
||
|
zones: ['Asia/Ulaanbaatar']
|
||
|
}, // urumqi: ['Asia/Urumqi'],
|
||
|
// yekaterinburg: ['Asia/Yekaterinburg'],
|
||
|
// armenia: ['Asia/Yerevan'],
|
||
|
// azores: ['Atlantic/Azores'],
|
||
|
// cape_Verde: ['Atlantic/Cape_Verde'],
|
||
|
// south_Georgia: ['Atlantic/South_Georgia'],
|
||
|
// falkland: ['Atlantic/Stanley'],
|
||
|
//India
|
||
|
{
|
||
|
standard: {
|
||
|
name: 'Maldives Time',
|
||
|
abbrev: 'MVT'
|
||
|
},
|
||
|
zones: ['Indian/Maldives']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Mauritius Time',
|
||
|
abbrev: 'MUT'
|
||
|
},
|
||
|
zones: ['Indian/Mauritius']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Marshall Islands Time',
|
||
|
abbrev: 'MHT'
|
||
|
},
|
||
|
zones: ['Pacific/Kwajalein', 'Pacific/Majuro']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Samoa Standard Time',
|
||
|
abbrev: 'SST'
|
||
|
},
|
||
|
alias: ['somoan'],
|
||
|
zones: ['Pacific/Midway', 'Pacific/Pago_Pago']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Chamorro Standard Time',
|
||
|
abbrev: 'CHST'
|
||
|
},
|
||
|
zones: ['Pacific/Guam', 'Pacific/Saipan']
|
||
|
}, {
|
||
|
standard: {
|
||
|
name: 'Papua New Guinea Time',
|
||
|
abbrev: 'PGT'
|
||
|
},
|
||
|
zones: ['Pacific/Bougainville', 'Pacific/Port_Moresby']
|
||
|
} // indian_Ocean: ['Indian/Chagos'],
|
||
|
// christmas: ['Indian/Christmas'],
|
||
|
// cocos: ['Indian/Cocos'],
|
||
|
// french_Southern: ['Indian/Kerguelen'],
|
||
|
// seychelles: ['Indian/Mahe'],
|
||
|
// reunion: ['Indian/Reunion'],
|
||
|
//Pacific
|
||
|
// apia: ['Pacific/Apia'],
|
||
|
// easter: ['Pacific/Easter'],
|
||
|
// vanuatu: ['Pacific/Efate'],
|
||
|
// phoenix_Islands: ['Pacific/Enderbury'],
|
||
|
// tokelau: ['Pacific/Fakaofo'],
|
||
|
// fiji: ['Pacific/Fiji'],
|
||
|
// tuvalu: ['Pacific/Funafuti'],
|
||
|
// galapagos: ['Pacific/Galapagos'],
|
||
|
// gambier: ['Pacific/Gambier'],
|
||
|
// solomon: ['Pacific/Guadalcanal'],
|
||
|
// line_Islands: ['Pacific/Kiritimati'],
|
||
|
// kosrae: ['Pacific/Kosrae'],
|
||
|
// marquesas: ['Pacific/Marquesas'],
|
||
|
// nauru: ['Pacific/Nauru'],
|
||
|
// niue: ['Pacific/Niue'],
|
||
|
// norfolk: ['Pacific/Norfolk'],
|
||
|
// new_Caledonia: ['Pacific/Noumea'],
|
||
|
// palau: ['Pacific/Palau'],
|
||
|
// pitcairn: ['Pacific/Pitcairn'],
|
||
|
// ponape: ['Pacific/Ponape'],
|
||
|
// cook: ['Pacific/Rarotonga'],
|
||
|
// tahiti: ['Pacific/Tahiti'],
|
||
|
// gilbert_Islands: ['Pacific/Tarawa'],
|
||
|
// tonga: ['Pacific/Tongatapu'],
|
||
|
// truk: ['Pacific/Truk'],
|
||
|
// wake: ['Pacific/Wake'],
|
||
|
// wallis: ['Pacific/Wallis'],
|
||
|
// tomsk: ['Asia/Tomsk']
|
||
|
// antarctic
|
||
|
// greenland_Eastern: ['America/Scoresbysund'],
|
||
|
// davis: ['Antarctica/Davis'],
|
||
|
// dumontdurville: ['Antarctica/Dumontdurville'],
|
||
|
// macquarie: ['Antarctica/Macquarie'],
|
||
|
// mawson: ['Antarctica/Mawson'],
|
||
|
// rothera: ['Antarctica/Rothera'],
|
||
|
// syowa: ['Antarctica/Syowa'],
|
||
|
// vostok: ['Antarctica/Vostok'],
|
||
|
];
|
||
|
|
||
|
var display = function display(str) {
|
||
|
var id = find_1(str);
|
||
|
|
||
|
if (!id) {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
var meta = _05Metazones.find(function (obj) {
|
||
|
return obj.zones.find(function (tz) {
|
||
|
return tz === id;
|
||
|
});
|
||
|
});
|
||
|
|
||
|
if (!meta) {
|
||
|
meta = {
|
||
|
standard: {
|
||
|
name: id,
|
||
|
abbrev: id
|
||
|
} // 'Etc/GMT+5'
|
||
|
|
||
|
};
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
iana: id,
|
||
|
standard: meta.standard,
|
||
|
daylight: meta.daylight
|
||
|
};
|
||
|
};
|
||
|
|
||
|
var display_1 = display;
|
||
|
|
||
|
var _version = '0.6.1';
|
||
|
|
||
|
var src = {
|
||
|
find: find_1,
|
||
|
display: display_1,
|
||
|
version: _version
|
||
|
};
|
||
|
var src_1 = src.find;
|
||
|
var src_2 = src.display;
|
||
|
var src_3 = src.version;
|
||
|
|
||
|
export default src;
|
||
|
export { src_2 as display, src_1 as find, src_3 as version };
|