1598 lines
58 KiB
JavaScript
1598 lines
58 KiB
JavaScript
|
//! moment-timezone.js
|
||
|
//! version : 0.5.40
|
||
|
//! Copyright (c) JS Foundation and other contributors
|
||
|
//! license : MIT
|
||
|
//! github.com/moment/moment-timezone
|
||
|
|
||
|
(function (root, factory) {
|
||
|
"use strict";
|
||
|
|
||
|
/*global define*/
|
||
|
if (typeof module === "object" && module.exports) {
|
||
|
module.exports = factory(require("moment")); // Node
|
||
|
} else if (typeof define === "function" && define.amd) {
|
||
|
define(["moment"], factory); // AMD
|
||
|
} else {
|
||
|
factory(root.moment); // Browser
|
||
|
}
|
||
|
})(this, function (moment) {
|
||
|
"use strict";
|
||
|
|
||
|
// Resolves es6 module loading issue
|
||
|
if (moment.version === undefined && moment.default) {
|
||
|
moment = moment.default;
|
||
|
}
|
||
|
|
||
|
// Do not load moment-timezone a second time.
|
||
|
// if (moment.tz !== undefined) {
|
||
|
// logError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);
|
||
|
// return moment;
|
||
|
// }
|
||
|
|
||
|
var VERSION = "0.5.40",
|
||
|
zones = {},
|
||
|
links = {},
|
||
|
countries = {},
|
||
|
names = {},
|
||
|
guesses = {},
|
||
|
cachedGuess;
|
||
|
|
||
|
if (!moment || typeof moment.version !== "string") {
|
||
|
logError(
|
||
|
"Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/"
|
||
|
);
|
||
|
}
|
||
|
|
||
|
var momentVersion = moment.version.split("."),
|
||
|
major = +momentVersion[0],
|
||
|
minor = +momentVersion[1];
|
||
|
|
||
|
// Moment.js version check
|
||
|
if (major < 2 || (major === 2 && minor < 6)) {
|
||
|
logError(
|
||
|
"Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js " +
|
||
|
moment.version +
|
||
|
". See momentjs.com"
|
||
|
);
|
||
|
}
|
||
|
|
||
|
/************************************
|
||
|
Unpacking
|
||
|
************************************/
|
||
|
|
||
|
function charCodeToInt(charCode) {
|
||
|
if (charCode > 96) {
|
||
|
return charCode - 87;
|
||
|
} else if (charCode > 64) {
|
||
|
return charCode - 29;
|
||
|
}
|
||
|
return charCode - 48;
|
||
|
}
|
||
|
|
||
|
function unpackBase60(string) {
|
||
|
var i = 0,
|
||
|
parts = string.split("."),
|
||
|
whole = parts[0],
|
||
|
fractional = parts[1] || "",
|
||
|
multiplier = 1,
|
||
|
num,
|
||
|
out = 0,
|
||
|
sign = 1;
|
||
|
|
||
|
// handle negative numbers
|
||
|
if (string.charCodeAt(0) === 45) {
|
||
|
i = 1;
|
||
|
sign = -1;
|
||
|
}
|
||
|
|
||
|
// handle digits before the decimal
|
||
|
for (i; i < whole.length; i++) {
|
||
|
num = charCodeToInt(whole.charCodeAt(i));
|
||
|
out = 60 * out + num;
|
||
|
}
|
||
|
|
||
|
// handle digits after the decimal
|
||
|
for (i = 0; i < fractional.length; i++) {
|
||
|
multiplier = multiplier / 60;
|
||
|
num = charCodeToInt(fractional.charCodeAt(i));
|
||
|
out += num * multiplier;
|
||
|
}
|
||
|
|
||
|
return out * sign;
|
||
|
}
|
||
|
|
||
|
function arrayToInt(array) {
|
||
|
for (var i = 0; i < array.length; i++) {
|
||
|
array[i] = unpackBase60(array[i]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function intToUntil(array, length) {
|
||
|
for (var i = 0; i < length; i++) {
|
||
|
array[i] = Math.round((array[i - 1] || 0) + array[i] * 60000); // minutes to milliseconds
|
||
|
}
|
||
|
|
||
|
array[length - 1] = Infinity;
|
||
|
}
|
||
|
|
||
|
function mapIndices(source, indices) {
|
||
|
var out = [],
|
||
|
i;
|
||
|
|
||
|
for (i = 0; i < indices.length; i++) {
|
||
|
out[i] = source[indices[i]];
|
||
|
}
|
||
|
|
||
|
return out;
|
||
|
}
|
||
|
|
||
|
function unpack(string) {
|
||
|
var data = string.split("|"),
|
||
|
offsets = data[2].split(" "),
|
||
|
indices = data[3].split(""),
|
||
|
untils = data[4].split(" ");
|
||
|
|
||
|
arrayToInt(offsets);
|
||
|
arrayToInt(indices);
|
||
|
arrayToInt(untils);
|
||
|
|
||
|
intToUntil(untils, indices.length);
|
||
|
|
||
|
return {
|
||
|
name: data[0],
|
||
|
abbrs: mapIndices(data[1].split(" "), indices),
|
||
|
offsets: mapIndices(offsets, indices),
|
||
|
untils: untils,
|
||
|
population: data[5] | 0,
|
||
|
};
|
||
|
}
|
||
|
|
||
|
/************************************
|
||
|
Zone object
|
||
|
************************************/
|
||
|
|
||
|
function Zone(packedString) {
|
||
|
if (packedString) {
|
||
|
this._set(unpack(packedString));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Zone.prototype = {
|
||
|
_set: function (unpacked) {
|
||
|
this.name = unpacked.name;
|
||
|
this.abbrs = unpacked.abbrs;
|
||
|
this.untils = unpacked.untils;
|
||
|
this.offsets = unpacked.offsets;
|
||
|
this.population = unpacked.population;
|
||
|
},
|
||
|
|
||
|
_index: function (timestamp) {
|
||
|
var target = +timestamp,
|
||
|
untils = this.untils,
|
||
|
i;
|
||
|
|
||
|
for (i = 0; i < untils.length; i++) {
|
||
|
if (target < untils[i]) {
|
||
|
return i;
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
|
||
|
countries: function () {
|
||
|
var zone_name = this.name;
|
||
|
return Object.keys(countries).filter(function (country_code) {
|
||
|
return countries[country_code].zones.indexOf(zone_name) !== -1;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
parse: function (timestamp) {
|
||
|
var target = +timestamp,
|
||
|
offsets = this.offsets,
|
||
|
untils = this.untils,
|
||
|
max = untils.length - 1,
|
||
|
offset,
|
||
|
offsetNext,
|
||
|
offsetPrev,
|
||
|
i;
|
||
|
|
||
|
for (i = 0; i < max; i++) {
|
||
|
offset = offsets[i];
|
||
|
offsetNext = offsets[i + 1];
|
||
|
offsetPrev = offsets[i ? i - 1 : i];
|
||
|
|
||
|
if (offset < offsetNext && tz.moveAmbiguousForward) {
|
||
|
offset = offsetNext;
|
||
|
} else if (offset > offsetPrev && tz.moveInvalidForward) {
|
||
|
offset = offsetPrev;
|
||
|
}
|
||
|
|
||
|
if (target < untils[i] - offset * 60000) {
|
||
|
return offsets[i];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return offsets[max];
|
||
|
},
|
||
|
|
||
|
abbr: function (mom) {
|
||
|
return this.abbrs[this._index(mom)];
|
||
|
},
|
||
|
|
||
|
offset: function (mom) {
|
||
|
logError("zone.offset has been deprecated in favor of zone.utcOffset");
|
||
|
return this.offsets[this._index(mom)];
|
||
|
},
|
||
|
|
||
|
utcOffset: function (mom) {
|
||
|
return this.offsets[this._index(mom)];
|
||
|
},
|
||
|
};
|
||
|
|
||
|
/************************************
|
||
|
Country object
|
||
|
************************************/
|
||
|
|
||
|
function Country(country_name, zone_names) {
|
||
|
this.name = country_name;
|
||
|
this.zones = zone_names;
|
||
|
}
|
||
|
|
||
|
/************************************
|
||
|
Current Timezone
|
||
|
************************************/
|
||
|
|
||
|
function OffsetAt(at) {
|
||
|
var timeString = at.toTimeString();
|
||
|
var abbr = timeString.match(/\([a-z ]+\)/i);
|
||
|
if (abbr && abbr[0]) {
|
||
|
// 17:56:31 GMT-0600 (CST)
|
||
|
// 17:56:31 GMT-0600 (Central Standard Time)
|
||
|
abbr = abbr[0].match(/[A-Z]/g);
|
||
|
abbr = abbr ? abbr.join("") : undefined;
|
||
|
} else {
|
||
|
// 17:56:31 CST
|
||
|
// 17:56:31 GMT+0800 (台北標準時間)
|
||
|
abbr = timeString.match(/[A-Z]{3,5}/g);
|
||
|
abbr = abbr ? abbr[0] : undefined;
|
||
|
}
|
||
|
|
||
|
if (abbr === "GMT") {
|
||
|
abbr = undefined;
|
||
|
}
|
||
|
|
||
|
this.at = +at;
|
||
|
this.abbr = abbr;
|
||
|
this.offset = at.getTimezoneOffset();
|
||
|
}
|
||
|
|
||
|
function ZoneScore(zone) {
|
||
|
this.zone = zone;
|
||
|
this.offsetScore = 0;
|
||
|
this.abbrScore = 0;
|
||
|
}
|
||
|
|
||
|
ZoneScore.prototype.scoreOffsetAt = function (offsetAt) {
|
||
|
this.offsetScore += Math.abs(
|
||
|
this.zone.utcOffset(offsetAt.at) - offsetAt.offset
|
||
|
);
|
||
|
if (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, "") !== offsetAt.abbr) {
|
||
|
this.abbrScore++;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
function findChange(low, high) {
|
||
|
var mid, diff;
|
||
|
|
||
|
while ((diff = (((high.at - low.at) / 12e4) | 0) * 6e4)) {
|
||
|
mid = new OffsetAt(new Date(low.at + diff));
|
||
|
if (mid.offset === low.offset) {
|
||
|
low = mid;
|
||
|
} else {
|
||
|
high = mid;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return low;
|
||
|
}
|
||
|
|
||
|
function userOffsets() {
|
||
|
var startYear = new Date().getFullYear() - 2,
|
||
|
last = new OffsetAt(new Date(startYear, 0, 1)),
|
||
|
offsets = [last],
|
||
|
change,
|
||
|
next,
|
||
|
i;
|
||
|
|
||
|
for (i = 1; i < 48; i++) {
|
||
|
next = new OffsetAt(new Date(startYear, i, 1));
|
||
|
if (next.offset !== last.offset) {
|
||
|
change = findChange(last, next);
|
||
|
offsets.push(change);
|
||
|
offsets.push(new OffsetAt(new Date(change.at + 6e4)));
|
||
|
}
|
||
|
last = next;
|
||
|
}
|
||
|
|
||
|
for (i = 0; i < 4; i++) {
|
||
|
offsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));
|
||
|
offsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));
|
||
|
}
|
||
|
|
||
|
return offsets;
|
||
|
}
|
||
|
|
||
|
function sortZoneScores(a, b) {
|
||
|
if (a.offsetScore !== b.offsetScore) {
|
||
|
return a.offsetScore - b.offsetScore;
|
||
|
}
|
||
|
if (a.abbrScore !== b.abbrScore) {
|
||
|
return a.abbrScore - b.abbrScore;
|
||
|
}
|
||
|
if (a.zone.population !== b.zone.population) {
|
||
|
return b.zone.population - a.zone.population;
|
||
|
}
|
||
|
return b.zone.name.localeCompare(a.zone.name);
|
||
|
}
|
||
|
|
||
|
function addToGuesses(name, offsets) {
|
||
|
var i, offset;
|
||
|
arrayToInt(offsets);
|
||
|
for (i = 0; i < offsets.length; i++) {
|
||
|
offset = offsets[i];
|
||
|
guesses[offset] = guesses[offset] || {};
|
||
|
guesses[offset][name] = true;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function guessesForUserOffsets(offsets) {
|
||
|
var offsetsLength = offsets.length,
|
||
|
filteredGuesses = {},
|
||
|
out = [],
|
||
|
i,
|
||
|
j,
|
||
|
guessesOffset;
|
||
|
|
||
|
for (i = 0; i < offsetsLength; i++) {
|
||
|
guessesOffset = guesses[offsets[i].offset] || {};
|
||
|
for (j in guessesOffset) {
|
||
|
if (guessesOffset.hasOwnProperty(j)) {
|
||
|
filteredGuesses[j] = true;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
for (i in filteredGuesses) {
|
||
|
if (filteredGuesses.hasOwnProperty(i)) {
|
||
|
out.push(names[i]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return out;
|
||
|
}
|
||
|
|
||
|
function rebuildGuess() {
|
||
|
// use Intl API when available and returning valid time zone
|
||
|
try {
|
||
|
var intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||
|
if (intlName && intlName.length > 3) {
|
||
|
var name = names[normalizeName(intlName)];
|
||
|
if (name) {
|
||
|
return name;
|
||
|
}
|
||
|
logError(
|
||
|
"Moment Timezone found " +
|
||
|
intlName +
|
||
|
" from the Intl api, but did not have that data loaded."
|
||
|
);
|
||
|
}
|
||
|
} catch (e) {
|
||
|
// Intl unavailable, fall back to manual guessing.
|
||
|
}
|
||
|
|
||
|
var offsets = userOffsets(),
|
||
|
offsetsLength = offsets.length,
|
||
|
guesses = guessesForUserOffsets(offsets),
|
||
|
zoneScores = [],
|
||
|
zoneScore,
|
||
|
i,
|
||
|
j;
|
||
|
|
||
|
for (i = 0; i < guesses.length; i++) {
|
||
|
zoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);
|
||
|
for (j = 0; j < offsetsLength; j++) {
|
||
|
zoneScore.scoreOffsetAt(offsets[j]);
|
||
|
}
|
||
|
zoneScores.push(zoneScore);
|
||
|
}
|
||
|
|
||
|
zoneScores.sort(sortZoneScores);
|
||
|
|
||
|
return zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;
|
||
|
}
|
||
|
|
||
|
function guess(ignoreCache) {
|
||
|
if (!cachedGuess || ignoreCache) {
|
||
|
cachedGuess = rebuildGuess();
|
||
|
}
|
||
|
return cachedGuess;
|
||
|
}
|
||
|
|
||
|
/************************************
|
||
|
Global Methods
|
||
|
************************************/
|
||
|
|
||
|
function normalizeName(name) {
|
||
|
return (name || "").toLowerCase().replace(/\//g, "_");
|
||
|
}
|
||
|
|
||
|
function addZone(packed) {
|
||
|
var i, name, split, normalized;
|
||
|
|
||
|
if (typeof packed === "string") {
|
||
|
packed = [packed];
|
||
|
}
|
||
|
|
||
|
for (i = 0; i < packed.length; i++) {
|
||
|
split = packed[i].split("|");
|
||
|
name = split[0];
|
||
|
normalized = normalizeName(name);
|
||
|
zones[normalized] = packed[i];
|
||
|
names[normalized] = name;
|
||
|
addToGuesses(normalized, split[2].split(" "));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function getZone(name, caller) {
|
||
|
name = normalizeName(name);
|
||
|
|
||
|
var zone = zones[name];
|
||
|
var link;
|
||
|
|
||
|
if (zone instanceof Zone) {
|
||
|
return zone;
|
||
|
}
|
||
|
|
||
|
if (typeof zone === "string") {
|
||
|
zone = new Zone(zone);
|
||
|
zones[name] = zone;
|
||
|
return zone;
|
||
|
}
|
||
|
|
||
|
// Pass getZone to prevent recursion more than 1 level deep
|
||
|
if (
|
||
|
links[name] &&
|
||
|
caller !== getZone &&
|
||
|
(link = getZone(links[name], getZone))
|
||
|
) {
|
||
|
zone = zones[name] = new Zone();
|
||
|
zone._set(link);
|
||
|
zone.name = names[name];
|
||
|
return zone;
|
||
|
}
|
||
|
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
function getNames() {
|
||
|
var i,
|
||
|
out = [];
|
||
|
|
||
|
for (i in names) {
|
||
|
if (
|
||
|
names.hasOwnProperty(i) &&
|
||
|
(zones[i] || zones[links[i]]) &&
|
||
|
names[i]
|
||
|
) {
|
||
|
out.push(names[i]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return out.sort();
|
||
|
}
|
||
|
|
||
|
function getCountryNames() {
|
||
|
return Object.keys(countries);
|
||
|
}
|
||
|
|
||
|
function addLink(aliases) {
|
||
|
var i, alias, normal0, normal1;
|
||
|
|
||
|
if (typeof aliases === "string") {
|
||
|
aliases = [aliases];
|
||
|
}
|
||
|
|
||
|
for (i = 0; i < aliases.length; i++) {
|
||
|
alias = aliases[i].split("|");
|
||
|
|
||
|
normal0 = normalizeName(alias[0]);
|
||
|
normal1 = normalizeName(alias[1]);
|
||
|
|
||
|
links[normal0] = normal1;
|
||
|
names[normal0] = alias[0];
|
||
|
|
||
|
links[normal1] = normal0;
|
||
|
names[normal1] = alias[1];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function addCountries(data) {
|
||
|
var i, country_code, country_zones, split;
|
||
|
if (!data || !data.length) return;
|
||
|
for (i = 0; i < data.length; i++) {
|
||
|
split = data[i].split("|");
|
||
|
country_code = split[0].toUpperCase();
|
||
|
country_zones = split[1].split(" ");
|
||
|
countries[country_code] = new Country(country_code, country_zones);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function getCountry(name) {
|
||
|
name = name.toUpperCase();
|
||
|
return countries[name] || null;
|
||
|
}
|
||
|
|
||
|
function zonesForCountry(country, with_offset) {
|
||
|
country = getCountry(country);
|
||
|
|
||
|
if (!country) return null;
|
||
|
|
||
|
var zones = country.zones.sort();
|
||
|
|
||
|
if (with_offset) {
|
||
|
return zones.map(function (zone_name) {
|
||
|
var zone = getZone(zone_name);
|
||
|
return {
|
||
|
name: zone_name,
|
||
|
offset: zone.utcOffset(new Date()),
|
||
|
};
|
||
|
});
|
||
|
}
|
||
|
|
||
|
return zones;
|
||
|
}
|
||
|
|
||
|
function loadData(data) {
|
||
|
addZone(data.zones);
|
||
|
addLink(data.links);
|
||
|
addCountries(data.countries);
|
||
|
tz.dataVersion = data.version;
|
||
|
}
|
||
|
|
||
|
function zoneExists(name) {
|
||
|
if (!zoneExists.didShowError) {
|
||
|
zoneExists.didShowError = true;
|
||
|
logError(
|
||
|
"moment.tz.zoneExists('" +
|
||
|
name +
|
||
|
"') has been deprecated in favor of !moment.tz.zone('" +
|
||
|
name +
|
||
|
"')"
|
||
|
);
|
||
|
}
|
||
|
return !!getZone(name);
|
||
|
}
|
||
|
|
||
|
function needsOffset(m) {
|
||
|
var isUnixTimestamp = m._f === "X" || m._f === "x";
|
||
|
return !!(m._a && m._tzm === undefined && !isUnixTimestamp);
|
||
|
}
|
||
|
|
||
|
function logError(message) {
|
||
|
if (typeof console !== "undefined" && typeof console.error === "function") {
|
||
|
console.error(message);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/************************************
|
||
|
moment.tz namespace
|
||
|
************************************/
|
||
|
|
||
|
function tz(input) {
|
||
|
var args = Array.prototype.slice.call(arguments, 0, -1),
|
||
|
name = arguments[arguments.length - 1],
|
||
|
zone = getZone(name),
|
||
|
out = moment.utc.apply(null, args);
|
||
|
|
||
|
if (zone && !moment.isMoment(input) && needsOffset(out)) {
|
||
|
out.add(zone.parse(out), "minutes");
|
||
|
}
|
||
|
|
||
|
out.tz(name);
|
||
|
|
||
|
return out;
|
||
|
}
|
||
|
|
||
|
tz.version = VERSION;
|
||
|
tz.dataVersion = "";
|
||
|
tz._zones = zones;
|
||
|
tz._links = links;
|
||
|
tz._names = names;
|
||
|
tz._countries = countries;
|
||
|
tz.add = addZone;
|
||
|
tz.link = addLink;
|
||
|
tz.load = loadData;
|
||
|
tz.zone = getZone;
|
||
|
tz.zoneExists = zoneExists; // deprecated in 0.1.0
|
||
|
tz.guess = guess;
|
||
|
tz.names = getNames;
|
||
|
tz.Zone = Zone;
|
||
|
tz.unpack = unpack;
|
||
|
tz.unpackBase60 = unpackBase60;
|
||
|
tz.needsOffset = needsOffset;
|
||
|
tz.moveInvalidForward = true;
|
||
|
tz.moveAmbiguousForward = false;
|
||
|
tz.countries = getCountryNames;
|
||
|
tz.zonesForCountry = zonesForCountry;
|
||
|
|
||
|
/************************************
|
||
|
Interface with Moment.js
|
||
|
************************************/
|
||
|
|
||
|
var fn = moment.fn;
|
||
|
|
||
|
moment.tz = tz;
|
||
|
|
||
|
moment.defaultZone = null;
|
||
|
|
||
|
moment.updateOffset = function (mom, keepTime) {
|
||
|
var zone = moment.defaultZone,
|
||
|
offset;
|
||
|
|
||
|
if (mom._z === undefined) {
|
||
|
if (zone && needsOffset(mom) && !mom._isUTC) {
|
||
|
mom._d = moment.utc(mom._a)._d;
|
||
|
mom.utc().add(zone.parse(mom), "minutes");
|
||
|
}
|
||
|
mom._z = zone;
|
||
|
}
|
||
|
if (mom._z) {
|
||
|
offset = mom._z.utcOffset(mom);
|
||
|
if (Math.abs(offset) < 16) {
|
||
|
offset = offset / 60;
|
||
|
}
|
||
|
if (mom.utcOffset !== undefined) {
|
||
|
var z = mom._z;
|
||
|
mom.utcOffset(-offset, keepTime);
|
||
|
mom._z = z;
|
||
|
} else {
|
||
|
mom.zone(offset, keepTime);
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
fn.tz = function (name, keepTime) {
|
||
|
if (name) {
|
||
|
if (typeof name !== "string") {
|
||
|
throw new Error(
|
||
|
"Time zone name must be a string, got " +
|
||
|
name +
|
||
|
" [" +
|
||
|
typeof name +
|
||
|
"]"
|
||
|
);
|
||
|
}
|
||
|
this._z = getZone(name);
|
||
|
if (this._z) {
|
||
|
moment.updateOffset(this, keepTime);
|
||
|
} else {
|
||
|
logError(
|
||
|
"Moment Timezone has no data for " +
|
||
|
name +
|
||
|
". See http://momentjs.com/timezone/docs/#/data-loading/."
|
||
|
);
|
||
|
}
|
||
|
return this;
|
||
|
}
|
||
|
if (this._z) {
|
||
|
return this._z.name;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
function abbrWrap(old) {
|
||
|
return function () {
|
||
|
if (this._z) {
|
||
|
return this._z.abbr(this);
|
||
|
}
|
||
|
return old.call(this);
|
||
|
};
|
||
|
}
|
||
|
|
||
|
function resetZoneWrap(old) {
|
||
|
return function () {
|
||
|
this._z = null;
|
||
|
return old.apply(this, arguments);
|
||
|
};
|
||
|
}
|
||
|
|
||
|
function resetZoneWrap2(old) {
|
||
|
return function () {
|
||
|
if (arguments.length > 0) this._z = null;
|
||
|
return old.apply(this, arguments);
|
||
|
};
|
||
|
}
|
||
|
|
||
|
fn.zoneName = abbrWrap(fn.zoneName);
|
||
|
fn.zoneAbbr = abbrWrap(fn.zoneAbbr);
|
||
|
fn.utc = resetZoneWrap(fn.utc);
|
||
|
fn.local = resetZoneWrap(fn.local);
|
||
|
fn.utcOffset = resetZoneWrap2(fn.utcOffset);
|
||
|
|
||
|
moment.tz.setDefault = function (name) {
|
||
|
if (major < 2 || (major === 2 && minor < 9)) {
|
||
|
logError(
|
||
|
"Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js " +
|
||
|
moment.version +
|
||
|
"."
|
||
|
);
|
||
|
}
|
||
|
moment.defaultZone = name ? getZone(name) : null;
|
||
|
return moment;
|
||
|
};
|
||
|
|
||
|
// Cloning a moment should include the _z property.
|
||
|
var momentProperties = moment.momentProperties;
|
||
|
if (Object.prototype.toString.call(momentProperties) === "[object Array]") {
|
||
|
// moment 2.8.1+
|
||
|
momentProperties.push("_z");
|
||
|
momentProperties.push("_a");
|
||
|
} else if (momentProperties) {
|
||
|
// moment 2.7.0
|
||
|
momentProperties._z = null;
|
||
|
}
|
||
|
|
||
|
loadData({
|
||
|
version: "2022g",
|
||
|
zones: [
|
||
|
"Africa/Abidjan|GMT|0|0||48e5",
|
||
|
"Africa/Nairobi|EAT|-30|0||47e5",
|
||
|
"Africa/Algiers|CET|-10|0||26e5",
|
||
|
"Africa/Lagos|WAT|-10|0||17e6",
|
||
|
"Africa/Maputo|CAT|-20|0||26e5",
|
||
|
"Africa/Cairo|EET|-20|0||15e6",
|
||
|
"Africa/Casablanca|+00 +01|0 -10|01010101010101010101010101|1T0q0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00|32e5",
|
||
|
"Europe/Paris|CET CEST|-10 -20|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|11e6",
|
||
|
"Africa/Johannesburg|SAST|-20|0||84e5",
|
||
|
"Africa/Juba|EAT CAT|-30 -20|01|24nx0|",
|
||
|
"Africa/Khartoum|EAT CAT|-30 -20|01|1Usl0|51e5",
|
||
|
"Africa/Sao_Tome|GMT WAT|0 -10|010|1UQN0 2q00|",
|
||
|
"Africa/Windhoek|CAT WAT|-20 -10|010|1T3c0 11B0|32e4",
|
||
|
"America/Adak|HST HDT|a0 90|01010101010101010101010|1ST00 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|326",
|
||
|
"America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1SSX0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|30e4",
|
||
|
"America/Santo_Domingo|AST|40|0||29e5",
|
||
|
"America/Fortaleza|-03|30|0||34e5",
|
||
|
"America/Asuncion|-03 -04|30 40|01010101010101010101010|1T0r0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0|28e5",
|
||
|
"America/Panama|EST|50|0||15e5",
|
||
|
"America/Mexico_City|CST CDT|60 50|0101010101010|1T3k0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|20e6",
|
||
|
"America/Managua|CST|60|0||22e5",
|
||
|
"America/Caracas|-04|40|0||29e5",
|
||
|
"America/Lima|-05|50|0||11e6",
|
||
|
"America/Denver|MST MDT|70 60|01010101010101010101010|1SSV0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|26e5",
|
||
|
"America/Campo_Grande|-03 -04|30 40|010101|1SKr0 1zd0 On0 1HB0 FX0|77e4",
|
||
|
"America/Chicago|CST CDT|60 50|01010101010101010101010|1SSU0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|92e5",
|
||
|
"America/Chihuahua|MST MDT CST|70 60 60|0101010101012|1T3l0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|81e4",
|
||
|
"America/Ciudad_Juarez|MST MDT CST|70 60 60|010101010101201010101010|1SSV0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 cm0 EP0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|",
|
||
|
"America/Phoenix|MST|70|0||42e5",
|
||
|
"America/Whitehorse|PST PDT MST|80 70 70|010101012|1SSW0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3",
|
||
|
"America/New_York|EST EDT|50 40|01010101010101010101010|1SST0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|21e6",
|
||
|
"America/Los_Angeles|PST PDT|80 70|01010101010101010101010|1SSW0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|15e6",
|
||
|
"America/Halifax|AST ADT|40 30|01010101010101010101010|1SSS0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|39e4",
|
||
|
"America/Godthab|-03 -02|30 20|01010101010101|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0|17e3",
|
||
|
"America/Grand_Turk|AST EDT EST|40 40 50|012121212121212121212|1Vkv0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|37e2",
|
||
|
"America/Havana|CST CDT|50 40|01010101010101010101010|1SSR0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0|21e5",
|
||
|
"America/Mazatlan|MST MDT|70 60|0101010101010|1T3l0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|44e4",
|
||
|
"America/Metlakatla|AKST AKDT PST|90 80 80|010120101010101010101010|1SSX0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|14e2",
|
||
|
"America/Miquelon|-03 -02|30 20|01010101010101010101010|1SSR0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|61e2",
|
||
|
"America/Noronha|-02|20|0||30e2",
|
||
|
"America/Ojinaga|MST MDT CST CDT|70 60 60 50|01010101010123232323232|1SSV0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 Rc0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|23e3",
|
||
|
"America/Santiago|-03 -04|30 40|01010101010101010101010|1Tk30 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|62e5",
|
||
|
"America/Sao_Paulo|-02 -03|20 30|010101|1SKq0 1zd0 On0 1HB0 FX0|20e6",
|
||
|
"Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|25e4",
|
||
|
"America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1SSRu 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|11e4",
|
||
|
"Antarctica/Casey|+11 +08|-b0 -80|0101010|1Vkh0 1o30 14k0 1kr0 12l0 1o01|10",
|
||
|
"Asia/Bangkok|+07|-70|0||15e6",
|
||
|
"Asia/Vladivostok|+10|-a0|0||60e4",
|
||
|
"Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1T340 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5",
|
||
|
"Asia/Tashkent|+05|-50|0||23e5",
|
||
|
"Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1T320 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|14e5",
|
||
|
"Europe/Istanbul|+03|-30|0||13e6",
|
||
|
"Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|40",
|
||
|
"Asia/Dhaka|+06|-60|0||16e6",
|
||
|
"Asia/Amman|EET EEST +03|-20 -30 -30|0101010101012|1T2m0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00|25e5",
|
||
|
"Asia/Kamchatka|+12|-c0|0||18e4",
|
||
|
"Asia/Dubai|+04|-40|0||39e5",
|
||
|
"Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|1T0m0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0|22e5",
|
||
|
"Asia/Kuala_Lumpur|+08|-80|0||71e5",
|
||
|
"Asia/Kolkata|IST|-5u|0||15e6",
|
||
|
"Asia/Chita|+09|-90|0||33e4",
|
||
|
"Asia/Shanghai|CST|-80|0||23e6",
|
||
|
"Asia/Colombo|+0530|-5u|0||22e5",
|
||
|
"Asia/Damascus|EET EEST +03|-20 -30 -30|0101010101012|1T2m0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0|26e5",
|
||
|
"Asia/Famagusta|+03 EET EEST|-30 -20 -30|0121212121212121212121|1Urd0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|",
|
||
|
"Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1SXX0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1qp0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0|18e5",
|
||
|
"Asia/Hong_Kong|HKT|-80|0||73e5",
|
||
|
"Asia/Jakarta|WIB|-70|0||31e6",
|
||
|
"Asia/Jayapura|WIT|-90|0||26e4",
|
||
|
"Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|1SXA0 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0|81e4",
|
||
|
"Asia/Kabul|+0430|-4u|0||46e5",
|
||
|
"Asia/Karachi|PKT|-50|0||24e6",
|
||
|
"Asia/Kathmandu|+0545|-5J|0||12e5",
|
||
|
"Asia/Sakhalin|+11|-b0|0||58e4",
|
||
|
"Asia/Makassar|WITA|-80|0||15e5",
|
||
|
"Asia/Manila|PST|-80|0||24e6",
|
||
|
"Europe/Athens|EET EEST|-20 -30|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|35e5",
|
||
|
"Asia/Pyongyang|KST KST|-8u -90|01|1VGf0|29e5",
|
||
|
"Asia/Qyzylorda|+06 +05|-60 -50|01|1Xei0|73e4",
|
||
|
"Asia/Rangoon|+0630|-6u|0||48e5",
|
||
|
"Asia/Seoul|KST|-90|0||23e6",
|
||
|
"Asia/Tehran|+0330 +0430|-3u -4u|0101010101010|1SWIu 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6",
|
||
|
"Asia/Tokyo|JST|-90|0||38e6",
|
||
|
"Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|27e5",
|
||
|
"Atlantic/Cape_Verde|-01|10|0||50e4",
|
||
|
"Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1T34u 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5",
|
||
|
"Australia/Brisbane|AEST|-a0|0||20e5",
|
||
|
"Australia/Darwin|ACST|-9u|0||12e4",
|
||
|
"Australia/Eucla|+0845|-8J|0||368",
|
||
|
"Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|1T330 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu|347",
|
||
|
"Australia/Perth|AWST|-80|0||18e5",
|
||
|
"Pacific/Easter|-05 -06|50 60|01010101010101010101010|1Tk30 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|30e2",
|
||
|
"Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|12e5",
|
||
|
"Etc/GMT-1|+01|-10|0||",
|
||
|
"Pacific/Fakaofo|+13|-d0|0||483",
|
||
|
"Pacific/Kiritimati|+14|-e0|0||51e2",
|
||
|
"Etc/GMT-2|+02|-20|0||",
|
||
|
"Pacific/Tahiti|-10|a0|0||18e4",
|
||
|
"Pacific/Niue|-11|b0|0||12e2",
|
||
|
"Etc/GMT+12|-12|c0|0||",
|
||
|
"Pacific/Galapagos|-06|60|0||25e3",
|
||
|
"Etc/GMT+7|-07|70|0||",
|
||
|
"Pacific/Pitcairn|-08|80|0||56",
|
||
|
"Pacific/Gambier|-09|90|0||125",
|
||
|
"Etc/UTC|UTC|0|0||",
|
||
|
"Europe/London|GMT BST|0 -10|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|10e6",
|
||
|
"Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|1T0o0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|67e4",
|
||
|
"Europe/Moscow|MSK|-30|0||16e6",
|
||
|
"Europe/Volgograd|+03 +04|-30 -40|010|1WQL0 5gn0|10e5",
|
||
|
"Pacific/Honolulu|HST|a0|0||37e4",
|
||
|
"MET|MET MEST|-10 -20|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|",
|
||
|
"Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010101010101010|1T320 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|600",
|
||
|
"Pacific/Apia|+14 +13|-e0 -d0|0101010101|1T320 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3",
|
||
|
"Pacific/Fiji|+13 +12|-d0 -c0|0101010101|1Swe0 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0|88e4",
|
||
|
"Pacific/Guam|ChST|-a0|0||17e4",
|
||
|
"Pacific/Marquesas|-0930|9u|0||86e2",
|
||
|
"Pacific/Pago_Pago|SST|b0|0||37e2",
|
||
|
"Pacific/Norfolk|+11 +12|-b0 -c0|010101010101010101|219P0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4",
|
||
|
"Pacific/Tongatapu|+14 +13|-e0 -d0|01|1Swd0|75e3",
|
||
|
],
|
||
|
links: [
|
||
|
"Africa/Abidjan|Africa/Accra",
|
||
|
"Africa/Abidjan|Africa/Bamako",
|
||
|
"Africa/Abidjan|Africa/Banjul",
|
||
|
"Africa/Abidjan|Africa/Bissau",
|
||
|
"Africa/Abidjan|Africa/Conakry",
|
||
|
"Africa/Abidjan|Africa/Dakar",
|
||
|
"Africa/Abidjan|Africa/Freetown",
|
||
|
"Africa/Abidjan|Africa/Lome",
|
||
|
"Africa/Abidjan|Africa/Monrovia",
|
||
|
"Africa/Abidjan|Africa/Nouakchott",
|
||
|
"Africa/Abidjan|Africa/Ouagadougou",
|
||
|
"Africa/Abidjan|Africa/Timbuktu",
|
||
|
"Africa/Abidjan|America/Danmarkshavn",
|
||
|
"Africa/Abidjan|Atlantic/Reykjavik",
|
||
|
"Africa/Abidjan|Atlantic/St_Helena",
|
||
|
"Africa/Abidjan|Etc/GMT",
|
||
|
"Africa/Abidjan|Etc/GMT+0",
|
||
|
"Africa/Abidjan|Etc/GMT-0",
|
||
|
"Africa/Abidjan|Etc/GMT0",
|
||
|
"Africa/Abidjan|Etc/Greenwich",
|
||
|
"Africa/Abidjan|GMT",
|
||
|
"Africa/Abidjan|GMT+0",
|
||
|
"Africa/Abidjan|GMT-0",
|
||
|
"Africa/Abidjan|GMT0",
|
||
|
"Africa/Abidjan|Greenwich",
|
||
|
"Africa/Abidjan|Iceland",
|
||
|
"Africa/Algiers|Africa/Tunis",
|
||
|
"Africa/Cairo|Africa/Tripoli",
|
||
|
"Africa/Cairo|Egypt",
|
||
|
"Africa/Cairo|Europe/Kaliningrad",
|
||
|
"Africa/Cairo|Libya",
|
||
|
"Africa/Casablanca|Africa/El_Aaiun",
|
||
|
"Africa/Johannesburg|Africa/Maseru",
|
||
|
"Africa/Johannesburg|Africa/Mbabane",
|
||
|
"Africa/Lagos|Africa/Bangui",
|
||
|
"Africa/Lagos|Africa/Brazzaville",
|
||
|
"Africa/Lagos|Africa/Douala",
|
||
|
"Africa/Lagos|Africa/Kinshasa",
|
||
|
"Africa/Lagos|Africa/Libreville",
|
||
|
"Africa/Lagos|Africa/Luanda",
|
||
|
"Africa/Lagos|Africa/Malabo",
|
||
|
"Africa/Lagos|Africa/Ndjamena",
|
||
|
"Africa/Lagos|Africa/Niamey",
|
||
|
"Africa/Lagos|Africa/Porto-Novo",
|
||
|
"Africa/Maputo|Africa/Blantyre",
|
||
|
"Africa/Maputo|Africa/Bujumbura",
|
||
|
"Africa/Maputo|Africa/Gaborone",
|
||
|
"Africa/Maputo|Africa/Harare",
|
||
|
"Africa/Maputo|Africa/Kigali",
|
||
|
"Africa/Maputo|Africa/Lubumbashi",
|
||
|
"Africa/Maputo|Africa/Lusaka",
|
||
|
"Africa/Nairobi|Africa/Addis_Ababa",
|
||
|
"Africa/Nairobi|Africa/Asmara",
|
||
|
"Africa/Nairobi|Africa/Asmera",
|
||
|
"Africa/Nairobi|Africa/Dar_es_Salaam",
|
||
|
"Africa/Nairobi|Africa/Djibouti",
|
||
|
"Africa/Nairobi|Africa/Kampala",
|
||
|
"Africa/Nairobi|Africa/Mogadishu",
|
||
|
"Africa/Nairobi|Indian/Antananarivo",
|
||
|
"Africa/Nairobi|Indian/Comoro",
|
||
|
"Africa/Nairobi|Indian/Mayotte",
|
||
|
"America/Adak|America/Atka",
|
||
|
"America/Adak|US/Aleutian",
|
||
|
"America/Anchorage|America/Juneau",
|
||
|
"America/Anchorage|America/Nome",
|
||
|
"America/Anchorage|America/Sitka",
|
||
|
"America/Anchorage|America/Yakutat",
|
||
|
"America/Anchorage|US/Alaska",
|
||
|
"America/Campo_Grande|America/Cuiaba",
|
||
|
"America/Caracas|America/Boa_Vista",
|
||
|
"America/Caracas|America/Guyana",
|
||
|
"America/Caracas|America/La_Paz",
|
||
|
"America/Caracas|America/Manaus",
|
||
|
"America/Caracas|America/Porto_Velho",
|
||
|
"America/Caracas|Brazil/West",
|
||
|
"America/Caracas|Etc/GMT+4",
|
||
|
"America/Chicago|America/Indiana/Knox",
|
||
|
"America/Chicago|America/Indiana/Tell_City",
|
||
|
"America/Chicago|America/Knox_IN",
|
||
|
"America/Chicago|America/Matamoros",
|
||
|
"America/Chicago|America/Menominee",
|
||
|
"America/Chicago|America/North_Dakota/Beulah",
|
||
|
"America/Chicago|America/North_Dakota/Center",
|
||
|
"America/Chicago|America/North_Dakota/New_Salem",
|
||
|
"America/Chicago|America/Rainy_River",
|
||
|
"America/Chicago|America/Rankin_Inlet",
|
||
|
"America/Chicago|America/Resolute",
|
||
|
"America/Chicago|America/Winnipeg",
|
||
|
"America/Chicago|CST6CDT",
|
||
|
"America/Chicago|Canada/Central",
|
||
|
"America/Chicago|US/Central",
|
||
|
"America/Chicago|US/Indiana-Starke",
|
||
|
"America/Denver|America/Boise",
|
||
|
"America/Denver|America/Cambridge_Bay",
|
||
|
"America/Denver|America/Edmonton",
|
||
|
"America/Denver|America/Inuvik",
|
||
|
"America/Denver|America/Shiprock",
|
||
|
"America/Denver|America/Yellowknife",
|
||
|
"America/Denver|Canada/Mountain",
|
||
|
"America/Denver|MST7MDT",
|
||
|
"America/Denver|Navajo",
|
||
|
"America/Denver|US/Mountain",
|
||
|
"America/Fortaleza|America/Araguaina",
|
||
|
"America/Fortaleza|America/Argentina/Buenos_Aires",
|
||
|
"America/Fortaleza|America/Argentina/Catamarca",
|
||
|
"America/Fortaleza|America/Argentina/ComodRivadavia",
|
||
|
"America/Fortaleza|America/Argentina/Cordoba",
|
||
|
"America/Fortaleza|America/Argentina/Jujuy",
|
||
|
"America/Fortaleza|America/Argentina/La_Rioja",
|
||
|
"America/Fortaleza|America/Argentina/Mendoza",
|
||
|
"America/Fortaleza|America/Argentina/Rio_Gallegos",
|
||
|
"America/Fortaleza|America/Argentina/Salta",
|
||
|
"America/Fortaleza|America/Argentina/San_Juan",
|
||
|
"America/Fortaleza|America/Argentina/San_Luis",
|
||
|
"America/Fortaleza|America/Argentina/Tucuman",
|
||
|
"America/Fortaleza|America/Argentina/Ushuaia",
|
||
|
"America/Fortaleza|America/Bahia",
|
||
|
"America/Fortaleza|America/Belem",
|
||
|
"America/Fortaleza|America/Buenos_Aires",
|
||
|
"America/Fortaleza|America/Catamarca",
|
||
|
"America/Fortaleza|America/Cayenne",
|
||
|
"America/Fortaleza|America/Cordoba",
|
||
|
"America/Fortaleza|America/Jujuy",
|
||
|
"America/Fortaleza|America/Maceio",
|
||
|
"America/Fortaleza|America/Mendoza",
|
||
|
"America/Fortaleza|America/Montevideo",
|
||
|
"America/Fortaleza|America/Paramaribo",
|
||
|
"America/Fortaleza|America/Punta_Arenas",
|
||
|
"America/Fortaleza|America/Recife",
|
||
|
"America/Fortaleza|America/Rosario",
|
||
|
"America/Fortaleza|America/Santarem",
|
||
|
"America/Fortaleza|Antarctica/Palmer",
|
||
|
"America/Fortaleza|Antarctica/Rothera",
|
||
|
"America/Fortaleza|Atlantic/Stanley",
|
||
|
"America/Fortaleza|Etc/GMT+3",
|
||
|
"America/Godthab|America/Nuuk",
|
||
|
"America/Halifax|America/Glace_Bay",
|
||
|
"America/Halifax|America/Goose_Bay",
|
||
|
"America/Halifax|America/Moncton",
|
||
|
"America/Halifax|America/Thule",
|
||
|
"America/Halifax|Atlantic/Bermuda",
|
||
|
"America/Halifax|Canada/Atlantic",
|
||
|
"America/Havana|Cuba",
|
||
|
"America/Lima|America/Bogota",
|
||
|
"America/Lima|America/Eirunepe",
|
||
|
"America/Lima|America/Guayaquil",
|
||
|
"America/Lima|America/Porto_Acre",
|
||
|
"America/Lima|America/Rio_Branco",
|
||
|
"America/Lima|Brazil/Acre",
|
||
|
"America/Lima|Etc/GMT+5",
|
||
|
"America/Los_Angeles|America/Ensenada",
|
||
|
"America/Los_Angeles|America/Santa_Isabel",
|
||
|
"America/Los_Angeles|America/Tijuana",
|
||
|
"America/Los_Angeles|America/Vancouver",
|
||
|
"America/Los_Angeles|Canada/Pacific",
|
||
|
"America/Los_Angeles|Mexico/BajaNorte",
|
||
|
"America/Los_Angeles|PST8PDT",
|
||
|
"America/Los_Angeles|US/Pacific",
|
||
|
"America/Managua|America/Belize",
|
||
|
"America/Managua|America/Costa_Rica",
|
||
|
"America/Managua|America/El_Salvador",
|
||
|
"America/Managua|America/Guatemala",
|
||
|
"America/Managua|America/Regina",
|
||
|
"America/Managua|America/Swift_Current",
|
||
|
"America/Managua|America/Tegucigalpa",
|
||
|
"America/Managua|Canada/Saskatchewan",
|
||
|
"America/Mazatlan|Mexico/BajaSur",
|
||
|
"America/Mexico_City|America/Bahia_Banderas",
|
||
|
"America/Mexico_City|America/Merida",
|
||
|
"America/Mexico_City|America/Monterrey",
|
||
|
"America/Mexico_City|Mexico/General",
|
||
|
"America/New_York|America/Detroit",
|
||
|
"America/New_York|America/Fort_Wayne",
|
||
|
"America/New_York|America/Indiana/Indianapolis",
|
||
|
"America/New_York|America/Indiana/Marengo",
|
||
|
"America/New_York|America/Indiana/Petersburg",
|
||
|
"America/New_York|America/Indiana/Vevay",
|
||
|
"America/New_York|America/Indiana/Vincennes",
|
||
|
"America/New_York|America/Indiana/Winamac",
|
||
|
"America/New_York|America/Indianapolis",
|
||
|
"America/New_York|America/Iqaluit",
|
||
|
"America/New_York|America/Kentucky/Louisville",
|
||
|
"America/New_York|America/Kentucky/Monticello",
|
||
|
"America/New_York|America/Louisville",
|
||
|
"America/New_York|America/Montreal",
|
||
|
"America/New_York|America/Nassau",
|
||
|
"America/New_York|America/Nipigon",
|
||
|
"America/New_York|America/Pangnirtung",
|
||
|
"America/New_York|America/Port-au-Prince",
|
||
|
"America/New_York|America/Thunder_Bay",
|
||
|
"America/New_York|America/Toronto",
|
||
|
"America/New_York|Canada/Eastern",
|
||
|
"America/New_York|EST5EDT",
|
||
|
"America/New_York|US/East-Indiana",
|
||
|
"America/New_York|US/Eastern",
|
||
|
"America/New_York|US/Michigan",
|
||
|
"America/Noronha|Atlantic/South_Georgia",
|
||
|
"America/Noronha|Brazil/DeNoronha",
|
||
|
"America/Noronha|Etc/GMT+2",
|
||
|
"America/Panama|America/Atikokan",
|
||
|
"America/Panama|America/Cancun",
|
||
|
"America/Panama|America/Cayman",
|
||
|
"America/Panama|America/Coral_Harbour",
|
||
|
"America/Panama|America/Jamaica",
|
||
|
"America/Panama|EST",
|
||
|
"America/Panama|Jamaica",
|
||
|
"America/Phoenix|America/Creston",
|
||
|
"America/Phoenix|America/Dawson_Creek",
|
||
|
"America/Phoenix|America/Fort_Nelson",
|
||
|
"America/Phoenix|America/Hermosillo",
|
||
|
"America/Phoenix|MST",
|
||
|
"America/Phoenix|US/Arizona",
|
||
|
"America/Santiago|Chile/Continental",
|
||
|
"America/Santo_Domingo|America/Anguilla",
|
||
|
"America/Santo_Domingo|America/Antigua",
|
||
|
"America/Santo_Domingo|America/Aruba",
|
||
|
"America/Santo_Domingo|America/Barbados",
|
||
|
"America/Santo_Domingo|America/Blanc-Sablon",
|
||
|
"America/Santo_Domingo|America/Curacao",
|
||
|
"America/Santo_Domingo|America/Dominica",
|
||
|
"America/Santo_Domingo|America/Grenada",
|
||
|
"America/Santo_Domingo|America/Guadeloupe",
|
||
|
"America/Santo_Domingo|America/Kralendijk",
|
||
|
"America/Santo_Domingo|America/Lower_Princes",
|
||
|
"America/Santo_Domingo|America/Marigot",
|
||
|
"America/Santo_Domingo|America/Martinique",
|
||
|
"America/Santo_Domingo|America/Montserrat",
|
||
|
"America/Santo_Domingo|America/Port_of_Spain",
|
||
|
"America/Santo_Domingo|America/Puerto_Rico",
|
||
|
"America/Santo_Domingo|America/St_Barthelemy",
|
||
|
"America/Santo_Domingo|America/St_Kitts",
|
||
|
"America/Santo_Domingo|America/St_Lucia",
|
||
|
"America/Santo_Domingo|America/St_Thomas",
|
||
|
"America/Santo_Domingo|America/St_Vincent",
|
||
|
"America/Santo_Domingo|America/Tortola",
|
||
|
"America/Santo_Domingo|America/Virgin",
|
||
|
"America/Sao_Paulo|Brazil/East",
|
||
|
"America/St_Johns|Canada/Newfoundland",
|
||
|
"America/Whitehorse|America/Dawson",
|
||
|
"America/Whitehorse|Canada/Yukon",
|
||
|
"Asia/Bangkok|Antarctica/Davis",
|
||
|
"Asia/Bangkok|Asia/Barnaul",
|
||
|
"Asia/Bangkok|Asia/Ho_Chi_Minh",
|
||
|
"Asia/Bangkok|Asia/Hovd",
|
||
|
"Asia/Bangkok|Asia/Krasnoyarsk",
|
||
|
"Asia/Bangkok|Asia/Novokuznetsk",
|
||
|
"Asia/Bangkok|Asia/Novosibirsk",
|
||
|
"Asia/Bangkok|Asia/Phnom_Penh",
|
||
|
"Asia/Bangkok|Asia/Saigon",
|
||
|
"Asia/Bangkok|Asia/Tomsk",
|
||
|
"Asia/Bangkok|Asia/Vientiane",
|
||
|
"Asia/Bangkok|Etc/GMT-7",
|
||
|
"Asia/Bangkok|Indian/Christmas",
|
||
|
"Asia/Chita|Asia/Dili",
|
||
|
"Asia/Chita|Asia/Khandyga",
|
||
|
"Asia/Chita|Asia/Yakutsk",
|
||
|
"Asia/Chita|Etc/GMT-9",
|
||
|
"Asia/Chita|Pacific/Palau",
|
||
|
"Asia/Dhaka|Antarctica/Vostok",
|
||
|
"Asia/Dhaka|Asia/Almaty",
|
||
|
"Asia/Dhaka|Asia/Bishkek",
|
||
|
"Asia/Dhaka|Asia/Dacca",
|
||
|
"Asia/Dhaka|Asia/Kashgar",
|
||
|
"Asia/Dhaka|Asia/Omsk",
|
||
|
"Asia/Dhaka|Asia/Qostanay",
|
||
|
"Asia/Dhaka|Asia/Thimbu",
|
||
|
"Asia/Dhaka|Asia/Thimphu",
|
||
|
"Asia/Dhaka|Asia/Urumqi",
|
||
|
"Asia/Dhaka|Etc/GMT-6",
|
||
|
"Asia/Dhaka|Indian/Chagos",
|
||
|
"Asia/Dubai|Asia/Baku",
|
||
|
"Asia/Dubai|Asia/Muscat",
|
||
|
"Asia/Dubai|Asia/Tbilisi",
|
||
|
"Asia/Dubai|Asia/Yerevan",
|
||
|
"Asia/Dubai|Etc/GMT-4",
|
||
|
"Asia/Dubai|Europe/Astrakhan",
|
||
|
"Asia/Dubai|Europe/Samara",
|
||
|
"Asia/Dubai|Europe/Saratov",
|
||
|
"Asia/Dubai|Europe/Ulyanovsk",
|
||
|
"Asia/Dubai|Indian/Mahe",
|
||
|
"Asia/Dubai|Indian/Mauritius",
|
||
|
"Asia/Dubai|Indian/Reunion",
|
||
|
"Asia/Gaza|Asia/Hebron",
|
||
|
"Asia/Hong_Kong|Hongkong",
|
||
|
"Asia/Jakarta|Asia/Pontianak",
|
||
|
"Asia/Jerusalem|Asia/Tel_Aviv",
|
||
|
"Asia/Jerusalem|Israel",
|
||
|
"Asia/Kamchatka|Asia/Anadyr",
|
||
|
"Asia/Kamchatka|Etc/GMT-12",
|
||
|
"Asia/Kamchatka|Kwajalein",
|
||
|
"Asia/Kamchatka|Pacific/Funafuti",
|
||
|
"Asia/Kamchatka|Pacific/Kwajalein",
|
||
|
"Asia/Kamchatka|Pacific/Majuro",
|
||
|
"Asia/Kamchatka|Pacific/Nauru",
|
||
|
"Asia/Kamchatka|Pacific/Tarawa",
|
||
|
"Asia/Kamchatka|Pacific/Wake",
|
||
|
"Asia/Kamchatka|Pacific/Wallis",
|
||
|
"Asia/Kathmandu|Asia/Katmandu",
|
||
|
"Asia/Kolkata|Asia/Calcutta",
|
||
|
"Asia/Kuala_Lumpur|Asia/Brunei",
|
||
|
"Asia/Kuala_Lumpur|Asia/Choibalsan",
|
||
|
"Asia/Kuala_Lumpur|Asia/Irkutsk",
|
||
|
"Asia/Kuala_Lumpur|Asia/Kuching",
|
||
|
"Asia/Kuala_Lumpur|Asia/Singapore",
|
||
|
"Asia/Kuala_Lumpur|Asia/Ulaanbaatar",
|
||
|
"Asia/Kuala_Lumpur|Asia/Ulan_Bator",
|
||
|
"Asia/Kuala_Lumpur|Etc/GMT-8",
|
||
|
"Asia/Kuala_Lumpur|Singapore",
|
||
|
"Asia/Makassar|Asia/Ujung_Pandang",
|
||
|
"Asia/Rangoon|Asia/Yangon",
|
||
|
"Asia/Rangoon|Indian/Cocos",
|
||
|
"Asia/Sakhalin|Asia/Magadan",
|
||
|
"Asia/Sakhalin|Asia/Srednekolymsk",
|
||
|
"Asia/Sakhalin|Etc/GMT-11",
|
||
|
"Asia/Sakhalin|Pacific/Bougainville",
|
||
|
"Asia/Sakhalin|Pacific/Efate",
|
||
|
"Asia/Sakhalin|Pacific/Guadalcanal",
|
||
|
"Asia/Sakhalin|Pacific/Kosrae",
|
||
|
"Asia/Sakhalin|Pacific/Noumea",
|
||
|
"Asia/Sakhalin|Pacific/Pohnpei",
|
||
|
"Asia/Sakhalin|Pacific/Ponape",
|
||
|
"Asia/Seoul|ROK",
|
||
|
"Asia/Shanghai|Asia/Chongqing",
|
||
|
"Asia/Shanghai|Asia/Chungking",
|
||
|
"Asia/Shanghai|Asia/Harbin",
|
||
|
"Asia/Shanghai|Asia/Macao",
|
||
|
"Asia/Shanghai|Asia/Macau",
|
||
|
"Asia/Shanghai|Asia/Taipei",
|
||
|
"Asia/Shanghai|PRC",
|
||
|
"Asia/Shanghai|ROC",
|
||
|
"Asia/Tashkent|Antarctica/Mawson",
|
||
|
"Asia/Tashkent|Asia/Aqtau",
|
||
|
"Asia/Tashkent|Asia/Aqtobe",
|
||
|
"Asia/Tashkent|Asia/Ashgabat",
|
||
|
"Asia/Tashkent|Asia/Ashkhabad",
|
||
|
"Asia/Tashkent|Asia/Atyrau",
|
||
|
"Asia/Tashkent|Asia/Dushanbe",
|
||
|
"Asia/Tashkent|Asia/Oral",
|
||
|
"Asia/Tashkent|Asia/Samarkand",
|
||
|
"Asia/Tashkent|Asia/Yekaterinburg",
|
||
|
"Asia/Tashkent|Etc/GMT-5",
|
||
|
"Asia/Tashkent|Indian/Kerguelen",
|
||
|
"Asia/Tashkent|Indian/Maldives",
|
||
|
"Asia/Tehran|Iran",
|
||
|
"Asia/Tokyo|Japan",
|
||
|
"Asia/Vladivostok|Antarctica/DumontDUrville",
|
||
|
"Asia/Vladivostok|Asia/Ust-Nera",
|
||
|
"Asia/Vladivostok|Etc/GMT-10",
|
||
|
"Asia/Vladivostok|Pacific/Chuuk",
|
||
|
"Asia/Vladivostok|Pacific/Port_Moresby",
|
||
|
"Asia/Vladivostok|Pacific/Truk",
|
||
|
"Asia/Vladivostok|Pacific/Yap",
|
||
|
"Atlantic/Azores|America/Scoresbysund",
|
||
|
"Atlantic/Cape_Verde|Etc/GMT+1",
|
||
|
"Australia/Adelaide|Australia/Broken_Hill",
|
||
|
"Australia/Adelaide|Australia/South",
|
||
|
"Australia/Adelaide|Australia/Yancowinna",
|
||
|
"Australia/Brisbane|Australia/Lindeman",
|
||
|
"Australia/Brisbane|Australia/Queensland",
|
||
|
"Australia/Darwin|Australia/North",
|
||
|
"Australia/Lord_Howe|Australia/LHI",
|
||
|
"Australia/Perth|Australia/West",
|
||
|
"Australia/Sydney|Antarctica/Macquarie",
|
||
|
"Australia/Sydney|Australia/ACT",
|
||
|
"Australia/Sydney|Australia/Canberra",
|
||
|
"Australia/Sydney|Australia/Currie",
|
||
|
"Australia/Sydney|Australia/Hobart",
|
||
|
"Australia/Sydney|Australia/Melbourne",
|
||
|
"Australia/Sydney|Australia/NSW",
|
||
|
"Australia/Sydney|Australia/Tasmania",
|
||
|
"Australia/Sydney|Australia/Victoria",
|
||
|
"Etc/UTC|Etc/UCT",
|
||
|
"Etc/UTC|Etc/Universal",
|
||
|
"Etc/UTC|Etc/Zulu",
|
||
|
"Etc/UTC|UCT",
|
||
|
"Etc/UTC|UTC",
|
||
|
"Etc/UTC|Universal",
|
||
|
"Etc/UTC|Zulu",
|
||
|
"Europe/Athens|Asia/Nicosia",
|
||
|
"Europe/Athens|EET",
|
||
|
"Europe/Athens|Europe/Bucharest",
|
||
|
"Europe/Athens|Europe/Helsinki",
|
||
|
"Europe/Athens|Europe/Kiev",
|
||
|
"Europe/Athens|Europe/Kyiv",
|
||
|
"Europe/Athens|Europe/Mariehamn",
|
||
|
"Europe/Athens|Europe/Nicosia",
|
||
|
"Europe/Athens|Europe/Riga",
|
||
|
"Europe/Athens|Europe/Sofia",
|
||
|
"Europe/Athens|Europe/Tallinn",
|
||
|
"Europe/Athens|Europe/Uzhgorod",
|
||
|
"Europe/Athens|Europe/Vilnius",
|
||
|
"Europe/Athens|Europe/Zaporozhye",
|
||
|
"Europe/Chisinau|Europe/Tiraspol",
|
||
|
"Europe/Dublin|Eire",
|
||
|
"Europe/Istanbul|Antarctica/Syowa",
|
||
|
"Europe/Istanbul|Asia/Aden",
|
||
|
"Europe/Istanbul|Asia/Baghdad",
|
||
|
"Europe/Istanbul|Asia/Bahrain",
|
||
|
"Europe/Istanbul|Asia/Istanbul",
|
||
|
"Europe/Istanbul|Asia/Kuwait",
|
||
|
"Europe/Istanbul|Asia/Qatar",
|
||
|
"Europe/Istanbul|Asia/Riyadh",
|
||
|
"Europe/Istanbul|Etc/GMT-3",
|
||
|
"Europe/Istanbul|Europe/Kirov",
|
||
|
"Europe/Istanbul|Europe/Minsk",
|
||
|
"Europe/Istanbul|Turkey",
|
||
|
"Europe/Lisbon|Atlantic/Canary",
|
||
|
"Europe/Lisbon|Atlantic/Faeroe",
|
||
|
"Europe/Lisbon|Atlantic/Faroe",
|
||
|
"Europe/Lisbon|Atlantic/Madeira",
|
||
|
"Europe/Lisbon|Portugal",
|
||
|
"Europe/Lisbon|WET",
|
||
|
"Europe/London|Europe/Belfast",
|
||
|
"Europe/London|Europe/Guernsey",
|
||
|
"Europe/London|Europe/Isle_of_Man",
|
||
|
"Europe/London|Europe/Jersey",
|
||
|
"Europe/London|GB",
|
||
|
"Europe/London|GB-Eire",
|
||
|
"Europe/Moscow|Europe/Simferopol",
|
||
|
"Europe/Moscow|W-SU",
|
||
|
"Europe/Paris|Africa/Ceuta",
|
||
|
"Europe/Paris|Arctic/Longyearbyen",
|
||
|
"Europe/Paris|Atlantic/Jan_Mayen",
|
||
|
"Europe/Paris|CET",
|
||
|
"Europe/Paris|Europe/Amsterdam",
|
||
|
"Europe/Paris|Europe/Andorra",
|
||
|
"Europe/Paris|Europe/Belgrade",
|
||
|
"Europe/Paris|Europe/Berlin",
|
||
|
"Europe/Paris|Europe/Bratislava",
|
||
|
"Europe/Paris|Europe/Brussels",
|
||
|
"Europe/Paris|Europe/Budapest",
|
||
|
"Europe/Paris|Europe/Busingen",
|
||
|
"Europe/Paris|Europe/Copenhagen",
|
||
|
"Europe/Paris|Europe/Gibraltar",
|
||
|
"Europe/Paris|Europe/Ljubljana",
|
||
|
"Europe/Paris|Europe/Luxembourg",
|
||
|
"Europe/Paris|Europe/Madrid",
|
||
|
"Europe/Paris|Europe/Malta",
|
||
|
"Europe/Paris|Europe/Monaco",
|
||
|
"Europe/Paris|Europe/Oslo",
|
||
|
"Europe/Paris|Europe/Podgorica",
|
||
|
"Europe/Paris|Europe/Prague",
|
||
|
"Europe/Paris|Europe/Rome",
|
||
|
"Europe/Paris|Europe/San_Marino",
|
||
|
"Europe/Paris|Europe/Sarajevo",
|
||
|
"Europe/Paris|Europe/Skopje",
|
||
|
"Europe/Paris|Europe/Stockholm",
|
||
|
"Europe/Paris|Europe/Tirane",
|
||
|
"Europe/Paris|Europe/Vaduz",
|
||
|
"Europe/Paris|Europe/Vatican",
|
||
|
"Europe/Paris|Europe/Vienna",
|
||
|
"Europe/Paris|Europe/Warsaw",
|
||
|
"Europe/Paris|Europe/Zagreb",
|
||
|
"Europe/Paris|Europe/Zurich",
|
||
|
"Europe/Paris|Poland",
|
||
|
"Pacific/Auckland|Antarctica/McMurdo",
|
||
|
"Pacific/Auckland|Antarctica/South_Pole",
|
||
|
"Pacific/Auckland|NZ",
|
||
|
"Pacific/Chatham|NZ-CHAT",
|
||
|
"Pacific/Easter|Chile/EasterIsland",
|
||
|
"Pacific/Fakaofo|Etc/GMT-13",
|
||
|
"Pacific/Fakaofo|Pacific/Enderbury",
|
||
|
"Pacific/Fakaofo|Pacific/Kanton",
|
||
|
"Pacific/Galapagos|Etc/GMT+6",
|
||
|
"Pacific/Gambier|Etc/GMT+9",
|
||
|
"Pacific/Guam|Pacific/Saipan",
|
||
|
"Pacific/Honolulu|HST",
|
||
|
"Pacific/Honolulu|Pacific/Johnston",
|
||
|
"Pacific/Honolulu|US/Hawaii",
|
||
|
"Pacific/Kiritimati|Etc/GMT-14",
|
||
|
"Pacific/Niue|Etc/GMT+11",
|
||
|
"Pacific/Pago_Pago|Pacific/Midway",
|
||
|
"Pacific/Pago_Pago|Pacific/Samoa",
|
||
|
"Pacific/Pago_Pago|US/Samoa",
|
||
|
"Pacific/Pitcairn|Etc/GMT+8",
|
||
|
"Pacific/Tahiti|Etc/GMT+10",
|
||
|
"Pacific/Tahiti|Pacific/Rarotonga",
|
||
|
],
|
||
|
countries: [
|
||
|
"AD|Europe/Andorra",
|
||
|
"AE|Asia/Dubai",
|
||
|
"AF|Asia/Kabul",
|
||
|
"AG|America/Puerto_Rico America/Antigua",
|
||
|
"AI|America/Puerto_Rico America/Anguilla",
|
||
|
"AL|Europe/Tirane",
|
||
|
"AM|Asia/Yerevan",
|
||
|
"AO|Africa/Lagos Africa/Luanda",
|
||
|
"AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Asia/Urumqi Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa Antarctica/Vostok",
|
||
|
"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia",
|
||
|
"AS|Pacific/Pago_Pago",
|
||
|
"AT|Europe/Vienna",
|
||
|
"AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla",
|
||
|
"AW|America/Puerto_Rico America/Aruba",
|
||
|
"AX|Europe/Helsinki Europe/Mariehamn",
|
||
|
"AZ|Asia/Baku",
|
||
|
"BA|Europe/Belgrade Europe/Sarajevo",
|
||
|
"BB|America/Barbados",
|
||
|
"BD|Asia/Dhaka",
|
||
|
"BE|Europe/Brussels",
|
||
|
"BF|Africa/Abidjan Africa/Ouagadougou",
|
||
|
"BG|Europe/Sofia",
|
||
|
"BH|Asia/Qatar Asia/Bahrain",
|
||
|
"BI|Africa/Maputo Africa/Bujumbura",
|
||
|
"BJ|Africa/Lagos Africa/Porto-Novo",
|
||
|
"BL|America/Puerto_Rico America/St_Barthelemy",
|
||
|
"BM|Atlantic/Bermuda",
|
||
|
"BN|Asia/Kuching Asia/Brunei",
|
||
|
"BO|America/La_Paz",
|
||
|
"BQ|America/Puerto_Rico America/Kralendijk",
|
||
|
"BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco",
|
||
|
"BS|America/Toronto America/Nassau",
|
||
|
"BT|Asia/Thimphu",
|
||
|
"BW|Africa/Maputo Africa/Gaborone",
|
||
|
"BY|Europe/Minsk",
|
||
|
"BZ|America/Belize",
|
||
|
"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Toronto America/Iqaluit America/Winnipeg America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver America/Panama America/Puerto_Rico America/Phoenix America/Blanc-Sablon America/Atikokan America/Creston",
|
||
|
"CC|Asia/Yangon Indian/Cocos",
|
||
|
"CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi",
|
||
|
"CF|Africa/Lagos Africa/Bangui",
|
||
|
"CG|Africa/Lagos Africa/Brazzaville",
|
||
|
"CH|Europe/Zurich",
|
||
|
"CI|Africa/Abidjan",
|
||
|
"CK|Pacific/Rarotonga",
|
||
|
"CL|America/Santiago America/Punta_Arenas Pacific/Easter",
|
||
|
"CM|Africa/Lagos Africa/Douala",
|
||
|
"CN|Asia/Shanghai Asia/Urumqi",
|
||
|
"CO|America/Bogota",
|
||
|
"CR|America/Costa_Rica",
|
||
|
"CU|America/Havana",
|
||
|
"CV|Atlantic/Cape_Verde",
|
||
|
"CW|America/Puerto_Rico America/Curacao",
|
||
|
"CX|Asia/Bangkok Indian/Christmas",
|
||
|
"CY|Asia/Nicosia Asia/Famagusta",
|
||
|
"CZ|Europe/Prague",
|
||
|
"DE|Europe/Zurich Europe/Berlin Europe/Busingen",
|
||
|
"DJ|Africa/Nairobi Africa/Djibouti",
|
||
|
"DK|Europe/Berlin Europe/Copenhagen",
|
||
|
"DM|America/Puerto_Rico America/Dominica",
|
||
|
"DO|America/Santo_Domingo",
|
||
|
"DZ|Africa/Algiers",
|
||
|
"EC|America/Guayaquil Pacific/Galapagos",
|
||
|
"EE|Europe/Tallinn",
|
||
|
"EG|Africa/Cairo",
|
||
|
"EH|Africa/El_Aaiun",
|
||
|
"ER|Africa/Nairobi Africa/Asmara",
|
||
|
"ES|Europe/Madrid Africa/Ceuta Atlantic/Canary",
|
||
|
"ET|Africa/Nairobi Africa/Addis_Ababa",
|
||
|
"FI|Europe/Helsinki",
|
||
|
"FJ|Pacific/Fiji",
|
||
|
"FK|Atlantic/Stanley",
|
||
|
"FM|Pacific/Kosrae Pacific/Port_Moresby Pacific/Guadalcanal Pacific/Chuuk Pacific/Pohnpei",
|
||
|
"FO|Atlantic/Faroe",
|
||
|
"FR|Europe/Paris",
|
||
|
"GA|Africa/Lagos Africa/Libreville",
|
||
|
"GB|Europe/London",
|
||
|
"GD|America/Puerto_Rico America/Grenada",
|
||
|
"GE|Asia/Tbilisi",
|
||
|
"GF|America/Cayenne",
|
||
|
"GG|Europe/London Europe/Guernsey",
|
||
|
"GH|Africa/Abidjan Africa/Accra",
|
||
|
"GI|Europe/Gibraltar",
|
||
|
"GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule",
|
||
|
"GM|Africa/Abidjan Africa/Banjul",
|
||
|
"GN|Africa/Abidjan Africa/Conakry",
|
||
|
"GP|America/Puerto_Rico America/Guadeloupe",
|
||
|
"GQ|Africa/Lagos Africa/Malabo",
|
||
|
"GR|Europe/Athens",
|
||
|
"GS|Atlantic/South_Georgia",
|
||
|
"GT|America/Guatemala",
|
||
|
"GU|Pacific/Guam",
|
||
|
"GW|Africa/Bissau",
|
||
|
"GY|America/Guyana",
|
||
|
"HK|Asia/Hong_Kong",
|
||
|
"HN|America/Tegucigalpa",
|
||
|
"HR|Europe/Belgrade Europe/Zagreb",
|
||
|
"HT|America/Port-au-Prince",
|
||
|
"HU|Europe/Budapest",
|
||
|
"ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura",
|
||
|
"IE|Europe/Dublin",
|
||
|
"IL|Asia/Jerusalem",
|
||
|
"IM|Europe/London Europe/Isle_of_Man",
|
||
|
"IN|Asia/Kolkata",
|
||
|
"IO|Indian/Chagos",
|
||
|
"IQ|Asia/Baghdad",
|
||
|
"IR|Asia/Tehran",
|
||
|
"IS|Africa/Abidjan Atlantic/Reykjavik",
|
||
|
"IT|Europe/Rome",
|
||
|
"JE|Europe/London Europe/Jersey",
|
||
|
"JM|America/Jamaica",
|
||
|
"JO|Asia/Amman",
|
||
|
"JP|Asia/Tokyo",
|
||
|
"KE|Africa/Nairobi",
|
||
|
"KG|Asia/Bishkek",
|
||
|
"KH|Asia/Bangkok Asia/Phnom_Penh",
|
||
|
"KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati",
|
||
|
"KM|Africa/Nairobi Indian/Comoro",
|
||
|
"KN|America/Puerto_Rico America/St_Kitts",
|
||
|
"KP|Asia/Pyongyang",
|
||
|
"KR|Asia/Seoul",
|
||
|
"KW|Asia/Riyadh Asia/Kuwait",
|
||
|
"KY|America/Panama America/Cayman",
|
||
|
"KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral",
|
||
|
"LA|Asia/Bangkok Asia/Vientiane",
|
||
|
"LB|Asia/Beirut",
|
||
|
"LC|America/Puerto_Rico America/St_Lucia",
|
||
|
"LI|Europe/Zurich Europe/Vaduz",
|
||
|
"LK|Asia/Colombo",
|
||
|
"LR|Africa/Monrovia",
|
||
|
"LS|Africa/Johannesburg Africa/Maseru",
|
||
|
"LT|Europe/Vilnius",
|
||
|
"LU|Europe/Brussels Europe/Luxembourg",
|
||
|
"LV|Europe/Riga",
|
||
|
"LY|Africa/Tripoli",
|
||
|
"MA|Africa/Casablanca",
|
||
|
"MC|Europe/Paris Europe/Monaco",
|
||
|
"MD|Europe/Chisinau",
|
||
|
"ME|Europe/Belgrade Europe/Podgorica",
|
||
|
"MF|America/Puerto_Rico America/Marigot",
|
||
|
"MG|Africa/Nairobi Indian/Antananarivo",
|
||
|
"MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro",
|
||
|
"MK|Europe/Belgrade Europe/Skopje",
|
||
|
"ML|Africa/Abidjan Africa/Bamako",
|
||
|
"MM|Asia/Yangon",
|
||
|
"MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan",
|
||
|
"MO|Asia/Macau",
|
||
|
"MP|Pacific/Guam Pacific/Saipan",
|
||
|
"MQ|America/Martinique",
|
||
|
"MR|Africa/Abidjan Africa/Nouakchott",
|
||
|
"MS|America/Puerto_Rico America/Montserrat",
|
||
|
"MT|Europe/Malta",
|
||
|
"MU|Indian/Mauritius",
|
||
|
"MV|Indian/Maldives",
|
||
|
"MW|Africa/Maputo Africa/Blantyre",
|
||
|
"MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Chihuahua America/Ciudad_Juarez America/Ojinaga America/Mazatlan America/Bahia_Banderas America/Hermosillo America/Tijuana",
|
||
|
"MY|Asia/Kuching Asia/Singapore Asia/Kuala_Lumpur",
|
||
|
"MZ|Africa/Maputo",
|
||
|
"NA|Africa/Windhoek",
|
||
|
"NC|Pacific/Noumea",
|
||
|
"NE|Africa/Lagos Africa/Niamey",
|
||
|
"NF|Pacific/Norfolk",
|
||
|
"NG|Africa/Lagos",
|
||
|
"NI|America/Managua",
|
||
|
"NL|Europe/Brussels Europe/Amsterdam",
|
||
|
"NO|Europe/Berlin Europe/Oslo",
|
||
|
"NP|Asia/Kathmandu",
|
||
|
"NR|Pacific/Nauru",
|
||
|
"NU|Pacific/Niue",
|
||
|
"NZ|Pacific/Auckland Pacific/Chatham",
|
||
|
"OM|Asia/Dubai Asia/Muscat",
|
||
|
"PA|America/Panama",
|
||
|
"PE|America/Lima",
|
||
|
"PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier",
|
||
|
"PG|Pacific/Port_Moresby Pacific/Bougainville",
|
||
|
"PH|Asia/Manila",
|
||
|
"PK|Asia/Karachi",
|
||
|
"PL|Europe/Warsaw",
|
||
|
"PM|America/Miquelon",
|
||
|
"PN|Pacific/Pitcairn",
|
||
|
"PR|America/Puerto_Rico",
|
||
|
"PS|Asia/Gaza Asia/Hebron",
|
||
|
"PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores",
|
||
|
"PW|Pacific/Palau",
|
||
|
"PY|America/Asuncion",
|
||
|
"QA|Asia/Qatar",
|
||
|
"RE|Asia/Dubai Indian/Reunion",
|
||
|
"RO|Europe/Bucharest",
|
||
|
"RS|Europe/Belgrade",
|
||
|
"RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr",
|
||
|
"RW|Africa/Maputo Africa/Kigali",
|
||
|
"SA|Asia/Riyadh",
|
||
|
"SB|Pacific/Guadalcanal",
|
||
|
"SC|Asia/Dubai Indian/Mahe",
|
||
|
"SD|Africa/Khartoum",
|
||
|
"SE|Europe/Berlin Europe/Stockholm",
|
||
|
"SG|Asia/Singapore",
|
||
|
"SH|Africa/Abidjan Atlantic/St_Helena",
|
||
|
"SI|Europe/Belgrade Europe/Ljubljana",
|
||
|
"SJ|Europe/Berlin Arctic/Longyearbyen",
|
||
|
"SK|Europe/Prague Europe/Bratislava",
|
||
|
"SL|Africa/Abidjan Africa/Freetown",
|
||
|
"SM|Europe/Rome Europe/San_Marino",
|
||
|
"SN|Africa/Abidjan Africa/Dakar",
|
||
|
"SO|Africa/Nairobi Africa/Mogadishu",
|
||
|
"SR|America/Paramaribo",
|
||
|
"SS|Africa/Juba",
|
||
|
"ST|Africa/Sao_Tome",
|
||
|
"SV|America/El_Salvador",
|
||
|
"SX|America/Puerto_Rico America/Lower_Princes",
|
||
|
"SY|Asia/Damascus",
|
||
|
"SZ|Africa/Johannesburg Africa/Mbabane",
|
||
|
"TC|America/Grand_Turk",
|
||
|
"TD|Africa/Ndjamena",
|
||
|
"TF|Asia/Dubai Indian/Maldives Indian/Kerguelen",
|
||
|
"TG|Africa/Abidjan Africa/Lome",
|
||
|
"TH|Asia/Bangkok",
|
||
|
"TJ|Asia/Dushanbe",
|
||
|
"TK|Pacific/Fakaofo",
|
||
|
"TL|Asia/Dili",
|
||
|
"TM|Asia/Ashgabat",
|
||
|
"TN|Africa/Tunis",
|
||
|
"TO|Pacific/Tongatapu",
|
||
|
"TR|Europe/Istanbul",
|
||
|
"TT|America/Puerto_Rico America/Port_of_Spain",
|
||
|
"TV|Pacific/Tarawa Pacific/Funafuti",
|
||
|
"TW|Asia/Taipei",
|
||
|
"TZ|Africa/Nairobi Africa/Dar_es_Salaam",
|
||
|
"UA|Europe/Simferopol Europe/Kyiv",
|
||
|
"UG|Africa/Nairobi Africa/Kampala",
|
||
|
"UM|Pacific/Pago_Pago Pacific/Tarawa Pacific/Honolulu Pacific/Midway Pacific/Wake",
|
||
|
"US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu",
|
||
|
"UY|America/Montevideo",
|
||
|
"UZ|Asia/Samarkand Asia/Tashkent",
|
||
|
"VA|Europe/Rome Europe/Vatican",
|
||
|
"VC|America/Puerto_Rico America/St_Vincent",
|
||
|
"VE|America/Caracas",
|
||
|
"VG|America/Puerto_Rico America/Tortola",
|
||
|
"VI|America/Puerto_Rico America/St_Thomas",
|
||
|
"VN|Asia/Bangkok Asia/Ho_Chi_Minh",
|
||
|
"VU|Pacific/Efate",
|
||
|
"WF|Pacific/Tarawa Pacific/Wallis",
|
||
|
"WS|Pacific/Apia",
|
||
|
"YE|Asia/Riyadh Asia/Aden",
|
||
|
"YT|Africa/Nairobi Indian/Mayotte",
|
||
|
"ZA|Africa/Johannesburg",
|
||
|
"ZM|Africa/Maputo Africa/Lusaka",
|
||
|
"ZW|Africa/Maputo Africa/Harare",
|
||
|
],
|
||
|
});
|
||
|
|
||
|
return moment;
|
||
|
});
|