Files
eufy-security-client-dz/node_modules/date-and-time/plugin/timezone.js
2025-11-11 00:04:55 -06:00

733 lines
39 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.date = global.date || {}, global.date.plugin = global.date.plugin || {}, global.date.plugin.timezone = factory()));
})(this, (function () { 'use strict';
/**
* @preserve date-and-time.js plugin
* @preserve timezone
*/
var plugin = function (proto, date) {
var timeZones = {
africa: {
abidjan: [0, -968],
accra: [0, -968],
addis_ababa: [10800, 9900, 9000, 8836],
algiers: [7200, 3600, 732, 561, 0],
asmara: [10800, 9900, 9000, 8836],
bamako: [0, -968],
bangui: [3600, 1800, 815, 0],
banjul: [0, -968],
bissau: [0, -3600, -3740],
blantyre: [7820, 7200],
brazzaville: [3600, 1800, 815, 0],
bujumbura: [7820, 7200],
cairo: [10800, 7509, 7200],
casablanca: [3600, 0, -1820],
ceuta: [7200, 3600, 0, -1276],
conakry: [0, -968],
dakar: [0, -968],
dar_es_salaam: [10800, 9900, 9000, 8836],
djibouti: [10800, 9900, 9000, 8836],
douala: [3600, 1800, 815, 0],
el_aaiun: [3600, 0, -3168, -3600],
freetown: [0, -968],
gaborone: [7820, 7200],
harare: [7820, 7200],
johannesburg: [10800, 7200, 6720, 5400],
juba: [10800, 7588, 7200],
kampala: [10800, 9900, 9000, 8836],
khartoum: [10800, 7808, 7200],
kigali: [7820, 7200],
kinshasa: [3600, 1800, 815, 0],
lagos: [3600, 1800, 815, 0],
libreville: [3600, 1800, 815, 0],
lome: [0, -968],
luanda: [3600, 1800, 815, 0],
lubumbashi: [7820, 7200],
lusaka: [7820, 7200],
malabo: [3600, 1800, 815, 0],
maputo: [7820, 7200],
maseru: [10800, 7200, 6720, 5400],
mbabane: [10800, 7200, 6720, 5400],
mogadishu: [10800, 9900, 9000, 8836],
monrovia: [0, -2588, -2670],
nairobi: [10800, 9900, 9000, 8836],
ndjamena: [7200, 3612, 3600],
niamey: [3600, 1800, 815, 0],
nouakchott: [0, -968],
ouagadougou: [0, -968],
'porto-novo': [3600, 1800, 815, 0],
sao_tome: [3600, 1616, 0, -2205],
tripoli: [7200, 3600, 3164],
tunis: [7200, 3600, 2444, 561],
windhoek: [10800, 7200, 5400, 4104, 3600]
},
america: {
adak: [44002, -32400, -36000, -39600, -42398],
anchorage: [50424, -28800, -32400, -35976, -36000],
anguilla: [-10800, -14400, -15865],
antigua: [-10800, -14400, -15865],
araguaina: [-7200, -10800, -11568],
argentina: {
buenos_aires: [-7200, -10800, -14028, -14400, -15408],
catamarca: [-7200, -10800, -14400, -15408, -15788],
cordoba: [-7200, -10800, -14400, -15408],
jujuy: [-7200, -10800, -14400, -15408, -15672],
la_rioja: [-7200, -10800, -14400, -15408, -16044],
mendoza: [-7200, -10800, -14400, -15408, -16516],
rio_gallegos: [-7200, -10800, -14400, -15408, -16612],
salta: [-7200, -10800, -14400, -15408, -15700],
san_juan: [-7200, -10800, -14400, -15408, -16444],
san_luis: [-7200, -10800, -14400, -15408, -15924],
tucuman: [-7200, -10800, -14400, -15408, -15652],
ushuaia: [-7200, -10800, -14400, -15408, -16392]
},
aruba: [-10800, -14400, -15865],
asuncion: [-10800, -13840, -14400],
atikokan: [-18000, -19088, -19176],
bahia_banderas: [-18000, -21600, -25200, -25260, -28800],
bahia: [-7200, -9244, -10800],
barbados: [-10800, -12600, -14309, -14400],
belem: [-7200, -10800, -11636],
belize: [-18000, -19800, -21168, -21600],
'blanc-sablon': [-10800, -14400, -15865],
boa_vista: [-10800, -14400, -14560],
bogota: [-14400, -17776, -18000],
boise: [-21600, -25200, -27889, -28800],
cambridge_bay: [0, -18000, -21600, -25200],
campo_grande: [-10800, -13108, -14400],
cancun: [-14400, -18000, -20824, -21600],
caracas: [-14400, -16060, -16064, -16200],
cayenne: [-10800, -12560, -14400],
cayman: [-18000, -19088, -19176],
chicago: [-18000, -21036, -21600],
chihuahua: [-18000, -21600, -25200, -25460],
ciudad_juarez: [-18000, -21600, -25200, -25556],
costa_rica: [-18000, -20173, -21600],
creston: [-21600, -25200, -26898],
cuiaba: [-10800, -13460, -14400],
curacao: [-10800, -14400, -15865],
danmarkshavn: [0, -4480, -7200, -10800],
dawson: [-25200, -28800, -32400, -33460],
dawson_creek: [-25200, -28800, -28856],
denver: [-21600, -25196, -25200],
detroit: [-14400, -18000, -19931, -21600],
dominica: [-10800, -14400, -15865],
edmonton: [-21600, -25200, -27232],
eirunepe: [-14400, -16768, -18000],
el_salvador: [-18000, -21408, -21600],
fortaleza: [-7200, -9240, -10800],
fort_nelson: [-25200, -28800, -29447],
glace_bay: [-10800, -14388, -14400],
goose_bay: [-7200, -9000, -9052, -10800, -12600, -12652, -14400, -14500],
grand_turk: [-14400, -17072, -18000, -18430],
grenada: [-10800, -14400, -15865],
guadeloupe: [-10800, -14400, -15865],
guatemala: [-18000, -21600, -21724],
guayaquil: [-14400, -18000, -18840, -19160],
guyana: [-10800, -13500, -13959, -14400],
halifax: [-10800, -14400, -15264],
havana: [-14400, -18000, -19768, -19776],
hermosillo: [-21600, -25200, -26632, -28800],
indiana: {
indianapolis: [-14400, -18000, -20678, -21600],
knox: [-18000, -20790, -21600],
marengo: [-14400, -18000, -20723, -21600],
petersburg: [-14400, -18000, -20947, -21600],
tell_city: [-14400, -18000, -20823, -21600],
vevay: [-14400, -18000, -20416, -21600],
vincennes: [-14400, -18000, -21007, -21600],
winamac: [-14400, -18000, -20785, -21600]
},
inuvik: [0, -21600, -25200, -28800],
iqaluit: [0, -14400, -18000, -21600],
jamaica: [-14400, -18000, -18430],
juneau: [54139, -25200, -28800, -32261, -32400],
kentucky: {
louisville: [-14400, -18000, -20582, -21600],
monticello: [-14400, -18000, -20364, -21600]
},
kralendijk: [-10800, -14400, -15865],
la_paz: [-12756, -14400, -16356],
lima: [-14400, -18000, -18492, -18516],
los_angeles: [-25200, -28378, -28800],
lower_princes: [-10800, -14400, -15865],
maceio: [-7200, -8572, -10800],
managua: [-18000, -20708, -20712, -21600],
manaus: [-10800, -14400, -14404],
marigot: [-10800, -14400, -15865],
martinique: [-10800, -14400, -14660],
matamoros: [-18000, -21600, -23400],
mazatlan: [-21600, -25200, -25540, -28800],
menominee: [-18000, -21027, -21600],
merida: [-18000, -21508, -21600],
metlakatla: [54822, -25200, -28800, -31578, -32400],
mexico_city: [-18000, -21600, -23796, -25200],
miquelon: [-7200, -10800, -13480, -14400],
moncton: [-10800, -14400, -15548, -18000],
monterrey: [-18000, -21600, -24076],
montevideo: [-5400, -7200, -9000, -10800, -12600, -13491, -14400],
montserrat: [-10800, -14400, -15865],
nassau: [-14400, -18000, -19052],
new_york: [-14400, -17762, -18000],
nome: [46702, -28800, -32400, -36000, -39600, -39698],
noronha: [-3600, -7200, -7780],
north_dakota: {
beulah: [-18000, -21600, -24427, -25200],
center: [-18000, -21600, -24312, -25200],
new_salem: [-18000, -21600, -24339, -25200]
},
nuuk: [-3600, -7200, -10800, -12416],
ojinaga: [-18000, -21600, -25060, -25200],
panama: [-18000, -19088, -19176],
paramaribo: [-10800, -12600, -13236, -13240, -13252],
phoenix: [-21600, -25200, -26898],
'port-au-prince': [-14400, -17340, -17360, -18000],
port_of_spain: [-10800, -14400, -15865],
porto_velho: [-10800, -14400, -15336],
puerto_rico: [-10800, -14400, -15865],
punta_arenas: [-10800, -14400, -16965, -17020, -18000],
rankin_inlet: [0, -18000, -21600],
recife: [-7200, -8376, -10800],
regina: [-21600, -25116, -25200],
resolute: [0, -18000, -21600],
rio_branco: [-14400, -16272, -18000],
santarem: [-10800, -13128, -14400],
santiago: [-10800, -14400, -16965, -18000],
santo_domingo: [-14400, -16200, -16776, -16800, -18000],
sao_paulo: [-7200, -10800, -11188],
scoresbysund: [0, -3600, -5272, -7200],
sitka: [53927, -25200, -28800, -32400, -32473],
st_barthelemy: [-10800, -14400, -15865],
st_johns: [-5400, -9000, -9052, -12600, -12652],
st_kitts: [-10800, -14400, -15865],
st_lucia: [-10800, -14400, -15865],
st_thomas: [-10800, -14400, -15865],
st_vincent: [-10800, -14400, -15865],
swift_current: [-21600, -25200, -25880],
tegucigalpa: [-18000, -20932, -21600],
thule: [-10800, -14400, -16508],
tijuana: [-25200, -28084, -28800],
toronto: [-14400, -18000, -19052],
tortola: [-10800, -14400, -15865],
vancouver: [-25200, -28800, -29548],
whitehorse: [-25200, -28800, -32400, -32412],
winnipeg: [-18000, -21600, -23316],
yakutat: [52865, -28800, -32400, -33535]
},
antarctica: {
casey: [39600, 28800, 0],
davis: [25200, 18000, 0],
dumontdurville: [36000, 35320, 35312],
macquarie: [39600, 36000, 0],
mawson: [21600, 18000, 0],
mcmurdo: [46800, 45000, 43200, 41944, 41400],
palmer: [0, -7200, -10800, -14400],
rothera: [0, -10800],
syowa: [11212, 10800],
troll: [7200, 0],
vostok: [25200, 18000, 0]
},
arctic: { longyearbyen: [10800, 7200, 3600, 3208] },
asia: {
aden: [11212, 10800],
almaty: [25200, 21600, 18468, 18000],
amman: [10800, 8624, 7200],
anadyr: [50400, 46800, 43200, 42596, 39600],
aqtau: [21600, 18000, 14400, 12064],
aqtobe: [21600, 18000, 14400, 13720],
ashgabat: [21600, 18000, 14400, 14012],
atyrau: [21600, 18000, 14400, 12464, 10800],
baghdad: [14400, 10800, 10660, 10656],
bahrain: [14400, 12368, 10800],
baku: [18000, 14400, 11964, 10800],
bangkok: [25200, 24124],
barnaul: [28800, 25200, 21600, 20100],
beirut: [10800, 8520, 7200],
bishkek: [25200, 21600, 18000, 17904],
brunei: [32400, 30000, 28800, 27000, 26480],
chita: [36000, 32400, 28800, 27232],
choibalsan: [36000, 32400, 28800, 27480, 25200],
colombo: [23400, 21600, 19800, 19172, 19164],
damascus: [10800, 8712, 7200],
dhaka: [25200, 23400, 21700, 21600, 21200, 19800],
dili: [32400, 30140, 28800],
dubai: [14400, 13272],
dushanbe: [25200, 21600, 18000, 16512],
famagusta: [10800, 8148, 7200],
gaza: [10800, 8272, 7200],
hebron: [10800, 8423, 7200],
ho_chi_minh: [32400, 28800, 25590, 25200],
hong_kong: [32400, 30600, 28800, 27402],
hovd: [28800, 25200, 21996, 21600],
irkutsk: [32400, 28800, 25200, 25025],
jakarta: [32400, 28800, 27000, 26400, 25632, 25200],
jayapura: [34200, 33768, 32400],
jerusalem: [14400, 10800, 8454, 8440, 7200],
kabul: [16608, 16200, 14400],
kamchatka: [46800, 43200, 39600, 38076],
karachi: [23400, 21600, 19800, 18000, 16092],
kathmandu: [20700, 20476, 19800],
khandyga: [39600, 36000, 32533, 32400, 28800],
kolkata: [23400, 21208, 21200, 19800, 19270],
krasnoyarsk: [28800, 25200, 22286, 21600],
kuala_lumpur: [32400, 28800, 27000, 26400, 25200, 24925],
kuching: [32400, 30000, 28800, 27000, 26480],
kuwait: [11212, 10800],
macau: [36000, 32400, 28800, 27250],
magadan: [43200, 39600, 36192, 36000],
makassar: [32400, 28800, 28656],
manila: [32400, 29040, 28800, -57360],
muscat: [14400, 13272],
nicosia: [10800, 8008, 7200],
novokuznetsk: [28800, 25200, 21600, 20928],
novosibirsk: [28800, 25200, 21600, 19900],
omsk: [25200, 21600, 18000, 17610],
oral: [21600, 18000, 14400, 12324, 10800],
phnom_penh: [25200, 24124],
pontianak: [32400, 28800, 27000, 26240, 25200],
pyongyang: [32400, 30600, 30180],
qatar: [14400, 12368, 10800],
qostanay: [21600, 18000, 15268, 14400],
qyzylorda: [21600, 18000, 15712, 14400],
riyadh: [11212, 10800],
sakhalin: [43200, 39600, 36000, 34248, 32400],
samarkand: [21600, 18000, 16073, 14400],
seoul: [36000, 34200, 32400, 30600, 30472],
shanghai: [32400, 29143, 28800],
singapore: [32400, 28800, 27000, 26400, 25200, 24925],
srednekolymsk: [43200, 39600, 36892, 36000],
taipei: [32400, 29160, 28800],
tashkent: [25200, 21600, 18000, 16631],
tbilisi: [18000, 14400, 10800, 10751],
tehran: [18000, 16200, 14400, 12600, 12344],
thimphu: [21600, 21516, 19800],
tokyo: [36000, 33539, 32400],
tomsk: [28800, 25200, 21600, 20391],
ulaanbaatar: [32400, 28800, 25652, 25200],
urumqi: [21600, 21020],
'ust-nera': [43200, 39600, 36000, 34374, 32400, 28800],
vientiane: [25200, 24124],
vladivostok: [39600, 36000, 32400, 31651],
yakutsk: [36000, 32400, 31138, 28800],
yangon: [32400, 23400, 23087],
yekaterinburg: [21600, 18000, 14553, 14400, 13505],
yerevan: [18000, 14400, 10800, 10680]
},
atlantic: {
azores: [0, -3600, -6160, -6872, -7200],
bermuda: [-10800, -11958, -14400, -15558],
canary: [3600, 0, -3600, -3696],
cape_verde: [-3600, -5644, -7200],
faroe: [3600, 0, -1624],
madeira: [3600, 0, -3600, -4056],
reykjavik: [0, -968],
south_georgia: [-7200, -8768],
stanley: [-7200, -10800, -13884, -14400],
st_helena: [0, -968]
},
australia: {
adelaide: [37800, 34200, 33260, 32400],
brisbane: [39600, 36728, 36000],
broken_hill: [37800, 36000, 34200, 33948, 32400],
darwin: [37800, 34200, 32400, 31400],
eucla: [35100, 31500, 30928],
hobart: [39600, 36000, 35356],
lindeman: [39600, 36000, 35756],
lord_howe: [41400, 39600, 38180, 37800, 36000],
melbourne: [39600, 36000, 34792],
perth: [32400, 28800, 27804],
sydney: [39600, 36292, 36000]
},
europe: {
amsterdam: [7200, 3600, 1050, 0],
andorra: [7200, 3600, 364, 0],
astrakhan: [18000, 14400, 11532, 10800],
athens: [10800, 7200, 5692, 3600],
belgrade: [7200, 4920, 3600],
berlin: [10800, 7200, 3600, 3208],
bratislava: [7200, 3600, 3464, 0],
brussels: [7200, 3600, 1050, 0],
bucharest: [10800, 7200, 6264],
budapest: [7200, 4580, 3600],
busingen: [7200, 3600, 2048, 1786],
chisinau: [14400, 10800, 7200, 6920, 6900, 6264, 3600],
copenhagen: [10800, 7200, 3600, 3208],
dublin: [3600, 2079, 0, -1521],
gibraltar: [7200, 3600, 0, -1284],
guernsey: [7200, 3600, 0, -75],
helsinki: [10800, 7200, 5989],
isle_of_man: [7200, 3600, 0, -75],
istanbul: [14400, 10800, 7200, 7016, 6952],
jersey: [7200, 3600, 0, -75],
kaliningrad: [14400, 10800, 7200, 4920, 3600],
kirov: [18000, 14400, 11928, 10800],
kyiv: [14400, 10800, 7324, 7200, 3600],
lisbon: [7200, 3600, 0, -2205],
ljubljana: [7200, 4920, 3600],
london: [7200, 3600, 0, -75],
luxembourg: [7200, 3600, 1050, 0],
madrid: [7200, 3600, 0, -884],
malta: [7200, 3600, 3484],
mariehamn: [10800, 7200, 5989],
minsk: [14400, 10800, 7200, 6616, 6600, 3600],
monaco: [7200, 3600, 561, 0],
moscow: [18000, 16279, 14400, 12679, 10800, 9079, 9017, 7200],
oslo: [10800, 7200, 3600, 3208],
paris: [7200, 3600, 561, 0],
podgorica: [7200, 4920, 3600],
prague: [7200, 3600, 3464, 0],
riga: [14400, 10800, 9394, 7200, 5794, 3600],
rome: [7200, 3600, 2996],
samara: [18000, 14400, 12020, 10800],
san_marino: [7200, 3600, 2996],
sarajevo: [7200, 4920, 3600],
saratov: [18000, 14400, 11058, 10800],
simferopol: [14400, 10800, 8184, 8160, 7200, 3600],
skopje: [7200, 4920, 3600],
sofia: [10800, 7200, 7016, 5596, 3600],
stockholm: [10800, 7200, 3600, 3208],
tallinn: [14400, 10800, 7200, 5940, 3600],
tirane: [7200, 4760, 3600],
ulyanovsk: [18000, 14400, 11616, 10800, 7200],
vaduz: [7200, 3600, 2048, 1786],
vatican: [7200, 3600, 2996],
vienna: [7200, 3921, 3600],
vilnius: [14400, 10800, 7200, 6076, 5736, 5040, 3600],
volgograd: [18000, 14400, 10800, 10660],
warsaw: [10800, 7200, 5040, 3600],
zagreb: [7200, 4920, 3600],
zurich: [7200, 3600, 2048, 1786]
},
indian: {
antananarivo: [10800, 9900, 9000, 8836],
chagos: [21600, 18000, 17380],
christmas: [25200, 24124],
cocos: [32400, 23400, 23087],
comoro: [10800, 9900, 9000, 8836],
kerguelen: [18000, 17640],
mahe: [14400, 13272],
maldives: [18000, 17640],
mauritius: [18000, 14400, 13800],
mayotte: [10800, 9900, 9000, 8836],
reunion: [14400, 13272]
},
pacific: {
apia: [50400, 46800, 45184, -36000, -39600, -41216, -41400],
auckland: [46800, 45000, 43200, 41944, 41400],
bougainville: [39600, 37336, 36000, 35312, 32400],
chatham: [49500, 45900, 44100, 44028],
chuuk: [36000, 35320, 35312],
easter: [-18000, -21600, -25200, -26248],
efate: [43200, 40396, 39600],
fakaofo: [46800, -39600, -41096],
fiji: [46800, 43200, 42944],
funafuti: [43200, 41524],
galapagos: [-18000, -21504, -21600],
gambier: [-32388, -32400],
guadalcanal: [39600, 38388],
guam: [39600, 36000, 34740, 32400, -51660],
honolulu: [-34200, -36000, -37800, -37886],
kanton: [46800, 0, -39600, -43200],
kiritimati: [50400, -36000, -37760, -38400],
kosrae: [43200, 39600, 39116, 36000, 32400, -47284],
kwajalein: [43200, 40160, 39600, 36000, 32400, -43200],
majuro: [43200, 41524],
marquesas: [-33480, -34200],
midway: [45432, -39600, -40968],
nauru: [43200, 41400, 40060, 32400],
niue: [-39600, -40780, -40800],
norfolk: [45000, 43200, 41400, 40320, 40312, 39600],
noumea: [43200, 39948, 39600],
pago_pago: [45432, -39600, -40968],
palau: [32400, 32276, -54124],
pitcairn: [-28800, -30600, -31220],
pohnpei: [39600, 38388],
port_moresby: [36000, 35320, 35312],
rarotonga: [48056, -34200, -36000, -37800, -38344],
saipan: [39600, 36000, 34740, 32400, -51660],
tahiti: [-35896, -36000],
tarawa: [43200, 41524],
tongatapu: [50400, 46800, 44400, 44352],
wake: [43200, 41524],
wallis: [43200, 41524]
}
};
var timeZoneNames = {
'Acre Standard Time': 'ACT', 'Acre Summer Time': 'ACST', 'Afghanistan Time': 'AFT',
'Alaska Daylight Time': 'AKDT', 'Alaska Standard Time': 'AKST', 'Almaty Standard Time': 'ALMT',
'Almaty Summer Time': 'ALMST', 'Amazon Standard Time': 'AMT', 'Amazon Summer Time': 'AMST',
'Anadyr Standard Time': 'ANAT', 'Anadyr Summer Time': 'ANAST', 'Apia Daylight Time': 'WSDT',
'Apia Standard Time': 'WSST', 'Aqtau Standard Time': 'AQTT', 'Aqtau Summer Time': 'AQTST',
'Aqtobe Standard Time': 'AQTT', 'Aqtobe Summer Time': 'AQST', 'Arabian Daylight Time': 'ADT',
'Arabian Standard Time': 'AST', 'Argentina Standard Time': 'ART', 'Argentina Summer Time': 'ARST',
'Armenia Standard Time': 'AMT', 'Armenia Summer Time': 'AMST', 'Atlantic Daylight Time': 'ADT',
'Atlantic Standard Time': 'AST', 'Australian Central Daylight Time': 'ACDT', 'Australian Central Standard Time': 'ACST',
'Australian Central Western Daylight Time': 'ACWDT', 'Australian Central Western Standard Time': 'ACWST', 'Australian Eastern Daylight Time': 'AEDT',
'Australian Eastern Standard Time': 'AEST', 'Australian Western Daylight Time': 'AWDT', 'Australian Western Standard Time': 'AWST',
'Azerbaijan Standard Time': 'AZT', 'Azerbaijan Summer Time': 'AZST', 'Azores Standard Time': 'AZOT',
'Azores Summer Time': 'AZOST', 'Bangladesh Standard Time': 'BST', 'Bangladesh Summer Time': 'BDST',
'Bhutan Time': 'BTT', 'Bolivia Time': 'BOT', 'Brasilia Standard Time': 'BRT',
'Brasilia Summer Time': 'BRST', 'British Summer Time': 'BST', 'Brunei Darussalam Time': 'BNT',
'Cape Verde Standard Time': 'CVT', 'Casey Time': 'CAST', 'Central Africa Time': 'CAT',
'Central Daylight Time': 'CDT', 'Central European Standard Time': 'CET', 'Central European Summer Time': 'CEST',
'Central Indonesia Time': 'WITA', 'Central Standard Time': 'CST', 'Chamorro Standard Time': 'ChST',
'Chatham Daylight Time': 'CHADT', 'Chatham Standard Time': 'CHAST', 'Chile Standard Time': 'CLT',
'Chile Summer Time': 'CLST', 'China Daylight Time': 'CDT', 'China Standard Time': 'CST',
'Christmas Island Time': 'CXT', 'Chuuk Time': 'CHUT', 'Cocos Islands Time': 'CCT',
'Colombia Standard Time': 'COT', 'Colombia Summer Time': 'COST', 'Cook Islands Half Summer Time': 'CKHST',
'Cook Islands Standard Time': 'CKT', 'Coordinated Universal Time': 'UTC', 'Cuba Daylight Time': 'CDT',
'Cuba Standard Time': 'CST', 'Davis Time': 'DAVT', 'Dumont-dUrville Time': 'DDUT',
'East Africa Time': 'EAT', 'East Greenland Standard Time': 'EGT', 'East Greenland Summer Time': 'EGST',
'East Kazakhstan Time': 'ALMT', 'East Timor Time': 'TLT', 'Easter Island Standard Time': 'EAST',
'Easter Island Summer Time': 'EASST', 'Eastern Daylight Time': 'EDT', 'Eastern European Standard Time': 'EET',
'Eastern European Summer Time': 'EEST', 'Eastern Indonesia Time': 'WIT', 'Eastern Standard Time': 'EST',
'Ecuador Time': 'ECT', 'Falkland Islands Standard Time': 'FKST', 'Falkland Islands Summer Time': 'FKDT',
'Fernando de Noronha Standard Time': 'FNT', 'Fernando de Noronha Summer Time': 'FNST', 'Fiji Standard Time': 'FJT',
'Fiji Summer Time': 'FJST', 'French Guiana Time': 'GFT', 'French Southern & Antarctic Time': 'TFT',
'Further-eastern European Time': 'FET', 'Galapagos Time': 'GALT', 'Gambier Time': 'GAMT',
'Georgia Standard Time': 'GET', 'Georgia Summer Time': 'GEST', 'Gilbert Islands Time': 'GILT',
'Greenwich Mean Time': 'GMT', 'Guam Standard Time': 'ChST', 'Gulf Standard Time': 'GST',
'Guyana Time': 'GYT', 'Hawaii-Aleutian Daylight Time': 'HADT', 'Hawaii-Aleutian Standard Time': 'HAST',
'Hong Kong Standard Time': 'HKT', 'Hong Kong Summer Time': 'HKST', 'Hovd Standard Time': 'HOVT',
'Hovd Summer Time': 'HOVST', 'India Standard Time': 'IST', 'Indian Ocean Time': 'IOT',
'Indochina Time': 'ICT', 'Iran Daylight Time': 'IRDT', 'Iran Standard Time': 'IRST',
'Irish Standard Time': 'IST', 'Irkutsk Standard Time': 'IRKT', 'Irkutsk Summer Time': 'IRKST',
'Israel Daylight Time': 'IDT', 'Israel Standard Time': 'IST', 'Japan Standard Time': 'JST',
'Korean Daylight Time': 'KDT', 'Korean Standard Time': 'KST', 'Kosrae Time': 'KOST',
'Krasnoyarsk Standard Time': 'KRAT', 'Krasnoyarsk Summer Time': 'KRAST', 'Kyrgyzstan Time': 'KGT',
'Lanka Time': 'LKT', 'Line Islands Time': 'LINT', 'Lord Howe Daylight Time': 'LHDT',
'Lord Howe Standard Time': 'LHST', 'Macao Standard Time': 'CST', 'Macao Summer Time': 'CDT',
'Magadan Standard Time': 'MAGT', 'Magadan Summer Time': 'MAGST', 'Malaysia Time': 'MYT',
'Maldives Time': 'MVT', 'Marquesas Time': 'MART', 'Marshall Islands Time': 'MHT',
'Mauritius Standard Time': 'MUT', 'Mauritius Summer Time': 'MUST', 'Mawson Time': 'MAWT',
'Mexican Pacific Daylight Time': 'PDT', 'Mexican Pacific Standard Time': 'PST', 'Moscow Standard Time': 'MSK',
'Moscow Summer Time': 'MSD', 'Mountain Daylight Time': 'MDT', 'Mountain Standard Time': 'MST',
'Myanmar Time': 'MMT', 'Nauru Time': 'NRT', 'Nepal Time': 'NPT',
'New Caledonia Standard Time': 'NCT', 'New Caledonia Summer Time': 'NCST', 'New Zealand Daylight Time': 'NZDT',
'New Zealand Standard Time': 'NZST', 'Newfoundland Daylight Time': 'NDT', 'Newfoundland Standard Time': 'NST',
'Niue Time': 'NUT', 'Norfolk Island Daylight Time': 'NFDT', 'Norfolk Island Standard Time': 'NFT',
'North Mariana Islands Time': 'ChST', 'Novosibirsk Standard Time': 'NOVT', 'Novosibirsk Summer Time': 'NOVST',
'Omsk Standard Time': 'OMST', 'Omsk Summer Time': 'OMSST', 'Pacific Daylight Time': 'PDT',
'Pacific Standard Time': 'PST', 'Pakistan Standard Time': 'PKT', 'Pakistan Summer Time': 'PKST',
'Palau Time': 'PWT', 'Papua New Guinea Time': 'PGT', 'Paraguay Standard Time': 'PYT',
'Paraguay Summer Time': 'PYST', 'Peru Standard Time': 'PET', 'Peru Summer Time': 'PEST',
'Petropavlovsk-Kamchatski Standard Time': 'PETT', 'Petropavlovsk-Kamchatski Summer Time': 'PETST', 'Philippine Standard Time': 'PST',
'Philippine Summer Time': 'PHST', 'Phoenix Islands Time': 'PHOT', 'Pitcairn Time': 'PIT',
'Ponape Time': 'PONT', 'Pyongyang Time': 'KST', 'Qyzylorda Standard Time': 'QYZT',
'Qyzylorda Summer Time': 'QYZST', 'Rothera Time': 'ROOTT', 'Réunion Time': 'RET',
'Sakhalin Standard Time': 'SAKT', 'Sakhalin Summer Time': 'SAKST', 'Samara Standard Time': 'SAMT',
'Samara Summer Time': 'SAMST', 'Samoa Standard Time': 'SST', 'Seychelles Time': 'SCT',
'Singapore Standard Time': 'SGT', 'Solomon Islands Time': 'SBT', 'South Africa Standard Time': 'SAST',
'South Georgia Time': 'GST', 'St. Pierre & Miquelon Daylight Time': 'PMDT', 'St. Pierre & Miquelon Standard Time': 'PMST',
'Suriname Time': 'SRT', 'Syowa Time': 'SYOT', 'Tahiti Time': 'TAHT',
'Taipei Daylight Time': 'CDT', 'Taipei Standard Time': 'CST', 'Tajikistan Time': 'TJT',
'Tokelau Time': 'TKT', 'Tonga Standard Time': 'TOT', 'Tonga Summer Time': 'TOST',
'Turkmenistan Standard Time': 'TMT', 'Tuvalu Time': 'TVT', 'Ulaanbaatar Standard Time': 'ULAT',
'Ulaanbaatar Summer Time': 'ULAST', 'Uruguay Standard Time': 'UYT', 'Uruguay Summer Time': 'UYST',
'Uzbekistan Standard Time': 'UZT', 'Uzbekistan Summer Time': 'UZST', 'Vanuatu Standard Time': 'VUT',
'Vanuatu Summer Time': 'VUST', 'Venezuela Time': 'VET', 'Vladivostok Standard Time': 'VLAT',
'Vladivostok Summer Time': 'VLAST', 'Volgograd Standard Time': 'VOLT', 'Volgograd Summer Time': 'VOLST',
'Vostok Time': 'VOST', 'Wake Island Time': 'WAKT', 'Wallis & Futuna Time': 'WFT',
'West Africa Standard Time': 'WAT', 'West Africa Summer Time': 'WAST', 'West Greenland Standard Time': 'WGST',
'West Greenland Summer Time': 'WGST', 'West Kazakhstan Time': 'AQTT', 'Western Argentina Standard Time': 'ART',
'Western Argentina Summer Time': 'ARST', 'Western European Standard Time': 'WET', 'Western European Summer Time': 'WEST',
'Western Indonesia Time': 'WIB', 'Yakutsk Standard Time': 'YAKT', 'Yakutsk Summer Time': 'YAKST',
'Yekaterinburg Standard Time': 'YEKT', 'Yekaterinburg Summer Time': 'YEKST', 'Yukon Time': 'YT'
};
var options = {
hour12: false, weekday: 'short', year: 'numeric', month: 'numeric', day: 'numeric',
hour: 'numeric', minute: 'numeric', second: 'numeric', fractionalSecondDigits: 3,
timeZone: 'UTC'
};
var cache = {
utc: new Intl.DateTimeFormat('en-US', options)
};
var getDateTimeFormat = function (timeZone) {
if (timeZone) {
var tz = timeZone.toLowerCase();
if (!cache[tz]) {
options.timeZone = timeZone;
cache[tz] = new Intl.DateTimeFormat('en-US', options);
}
return cache[tz];
}
options.timeZone = undefined;
return new Intl.DateTimeFormat('en-US', options);
};
var formatToParts = function (dateTimeFormat, dateObjOrTime) {
var array = dateTimeFormat.formatToParts(dateObjOrTime),
values = {};
for (var i = 0, len = array.length; i < len; i++) {
var type = array[i].type,
value = array[i].value;
switch (type) {
case 'weekday':
values[type] = 'SunMonTueWedThuFriSat'.indexOf(value) / 3;
break;
case 'hour':
values[type] = value % 24;
break;
case 'year':
case 'month':
case 'day':
case 'minute':
case 'second':
case 'fractionalSecond':
values[type] = value | 0;
}
}
return values;
};
var getTimeFromParts = function (parts) {
return Date.UTC(
parts.year, parts.month - (parts.year < 100 ? 1900 * 12 + 1 : 1), parts.day,
parts.hour, parts.minute, parts.second, parts.fractionalSecond
);
};
var formatTZ = function (dateObj, arg, timeZone) {
var parts = formatToParts(getDateTimeFormat(timeZone), dateObj);
return date.format({
getFullYear: function () { return parts.year; },
getMonth: function () { return parts.month - 1; },
getDate: function () { return parts.day; },
getHours: function () { return parts.hour; },
getMinutes: function () { return parts.minute; },
getSeconds: function () { return parts.second; },
getMilliseconds: function () { return parts.fractionalSecond; },
getDay: function () { return parts.weekday; },
getTime: function () { return dateObj.getTime(); },
getTimezoneOffset: function () {
return (dateObj.getTime() - getTimeFromParts(parts)) / 60000 | 0;
},
getTimezoneName: function () { return timeZone || undefined; }
}, arg);
};
var parseTZ = function (arg1, arg2, timeZone) {
var pattern = typeof arg2 === 'string' ? date.compile(arg2) : arg2;
var time = typeof arg1 === 'string' ? date.parse(arg1, pattern, !!timeZone).getTime() : arg1;
var hasZ = function (array) {
for (var i = 1, len = array.length; i < len; i++) {
if (!array[i].indexOf('Z')) {
return true;
}
}
return false;
};
if (!timeZone || hasZ(pattern) || timeZone.toUpperCase() === 'UTC' || isNaN(time)) {
return new Date(time);
}
var getOffset = function (timeZoneName) {
var keys = (timeZoneName || '').toLowerCase().split('/');
var value = timeZones[keys[0]] || {};
for (var i = 1, len = keys.length; i < len; i++) {
value = value[keys[i]] || {};
}
return Array.isArray(value) ? value : [];
};
var utc = getDateTimeFormat('UTC');
var tz = getDateTimeFormat(timeZone);
var offset = getOffset(timeZone);
for (var i = 0; i < 2; i++) {
var targetString = utc.format(time - i * 24 * 60 * 60 * 1000);
for (var j = 0, len = offset.length; j < len; j++) {
if (tz.format(time - (offset[j] + i * 24 * 60 * 60) * 1000) === targetString) {
return new Date(time - offset[j] * 1000);
}
}
}
return new Date(NaN);
};
var transformTZ = function (dateString, arg1, arg2, timeZone) {
return formatTZ(date.parse(dateString, arg1), arg2, timeZone);
};
var normalizeDateParts = function (parts, adjustEOM) {
var d = new Date(Date.UTC(
parts.year, parts.month - (parts.year < 100 ? 1900 * 12 + 1 : 1), parts.day
));
if (adjustEOM && d.getUTCDate() < parts.day) {
d.setUTCDate(0);
}
parts.year = d.getUTCFullYear();
parts.month = d.getUTCMonth() + 1;
parts.day = d.getUTCDate();
return parts;
};
var addYearsTZ = function (dateObj, years, timeZone) {
return addMonthsTZ(dateObj, years * 12, timeZone);
};
var addMonthsTZ = function (dateObj, months, timeZone) {
var parts = formatToParts(getDateTimeFormat(timeZone), dateObj);
parts.month += months;
var dateObj2 = parseTZ(getTimeFromParts(normalizeDateParts(parts, true)), [], timeZone);
return isNaN(dateObj2.getTime()) ? date.addMonths(dateObj, months, true) : dateObj2;
};
var addDaysTZ = function (dateObj, days, timeZone) {
var parts = formatToParts(getDateTimeFormat(timeZone), dateObj);
parts.day += days;
var dateObj2 = parseTZ(getTimeFromParts(normalizeDateParts(parts, false)), [], timeZone);
return isNaN(dateObj2.getTime()) ? date.addDays(dateObj, days, true) : dateObj2;
};
var name = 'timezone';
var getName = function (d) {
var parts = new Intl.DateTimeFormat('en-US', {
timeZone: typeof d.getTimezoneName === 'function' ? d.getTimezoneName() : undefined,
timeZoneName: 'long'
}).formatToParts(d.getTime());
for (var i = 0, len = parts.length; i < len; i++) {
if (parts[i].type === 'timeZoneName') {
return parts[i].value;
}
}
return '';
};
proto.plugin(name, {
formatter: {
z: function (d) {
var name = getName(d);
return timeZoneNames[name] || '';
},
zz: function (d) {
var name = getName(d);
return /^GMT[+-].+$/.test(name) ? '' : name;
}
},
extender: {
formatTZ: formatTZ,
parseTZ: parseTZ,
transformTZ: transformTZ,
addYearsTZ: addYearsTZ,
addMonthsTZ: addMonthsTZ,
addDaysTZ: addDaysTZ
}
});
return name;
};
return plugin;
}));