Skip to content

Instantly share code, notes, and snippets.

@dejurin
Created September 3, 2025 18:08
Show Gist options
  • Save dejurin/eed9a538c5ad443311817e1b1ffde86b to your computer and use it in GitHub Desktop.
Save dejurin/eed9a538c5ad443311817e1b1ffde86b to your computer and use it in GitHub Desktop.
abbr.ts
// Variant type for clarity
type TZVariant = {
name: string; // Human-readable timezone name
iana: string[]; // One or more IANA zones (first is canonical)
note?: string; // Optional note (DST/legacy/unofficial/etc.)
};
// Map: Abbreviation -> possible variants
export const TZ_MAP_PART_A: Record<string, TZVariant[]> = {
// Military letter zone. Note the inverted sign in Etc/GMT*: Etc/GMT-1 === UTC+1
A: [
{
name: "Alfa Time Zone (Military)",
iana: ["Etc/GMT-1"],
note: "Fixed offset; use for UTC+1. Military letters are deprecated in civil use.",
},
],
ACDT: [
{
name:
"Australian Central Daylight Time (CDT / CDST / Central Daylight Savings Time)",
iana: ["Australia/Adelaide", "Australia/Broken_Hill"],
note: "UTC+10:30 during DST in South Australia & Broken Hill.",
},
],
ACST: [
{
name: "Australian Central Standard Time (CST / Central Standard Time)",
iana: ["Australia/Darwin", "Australia/Adelaide"],
note: "UTC+9:30. Darwin is year-round; Adelaide uses it outside DST.",
},
],
// ACT is ambiguous: "Acre Time" (Brazil, UTC−5) vs "Australian Central Time" (region label)
ACT: [
{
name: "Acre Time",
iana: ["America/Rio_Branco", "America/Eirunepe"],
note: "UTC−5 (western Brazil).",
},
{
name: "Australian Central Time",
iana: ["Australia/Darwin", "Australia/Adelaide", "Australia/Broken_Hill"],
note:
"Region label (UTC+9:30 standard / UTC+10:30 DST). Prefer concrete zones above.",
},
],
ACWST: [
{
name: "Australian Central Western Standard Time",
iana: ["Australia/Eucla"],
note: "UTC+8:45 (semi-official local time).",
},
],
// ADT is ambiguous: Arabia Daylight (historical) vs Atlantic Daylight (North America)
ADT: [
{
name: "Arabia Daylight Time (AST / Arabia Summer Time)",
iana: ["Asia/Baghdad", "Asia/Riyadh"],
note:
"Historical/rare DST usage in the region; most countries do NOT observe DST now.",
},
{
name:
"Atlantic Daylight Time (ADST / Atlantic Daylight Saving Time / HAA)",
iana: [
"America/Halifax",
"America/Glace_Bay",
"America/Moncton",
"Atlantic/Bermuda",
"America/Goose_Bay",
],
note: "UTC−3 in summer across Atlantic Canada & Bermuda.",
},
],
AEDT: [
{
name:
"Australian Eastern Daylight Time (EDT / EDST / Eastern Daylight Saving Time)",
iana: ["Australia/Sydney", "Australia/Melbourne", "Australia/Hobart"],
note: "UTC+11 during DST.",
},
],
AEST: [
{
name: "Australian Eastern Standard Time (EST / AET)",
iana: ["Australia/Brisbane", "Australia/Sydney", "Australia/Melbourne", "Australia/Hobart"],
note: "UTC+10 (Brisbane is year-round; others in winter).",
},
],
AET: [
{
name: "Australian Eastern Time",
iana: ["Australia/Sydney", "Australia/Melbourne", "Australia/Brisbane"],
note: "Region label covering both AEST (UTC+10) and AEDT (UTC+11).",
},
],
AFT: [
{
name: "Afghanistan Time",
iana: ["Asia/Kabul"],
note: "UTC+4:30.",
},
],
AKDT: [
{
name: "Alaska Daylight Time (ADST / Alaska Daylight Saving Time)",
iana: [
"America/Anchorage",
"America/Juneau",
"America/Sitka",
"America/Nome",
"America/Yakutat",
],
note: "UTC−8 during DST.",
},
],
AKST: [
{
name: "Alaska Standard Time (AT / Alaska Time)",
iana: [
"America/Anchorage",
"America/Juneau",
"America/Sitka",
"America/Nome",
"America/Yakutat",
],
note: "UTC−9 standard time.",
},
],
ALMT: [
{
name: "Alma-Ata Time",
iana: ["Asia/Almaty"],
note: "UTC+6.",
},
],
// AMST is ambiguous: Amazon Summer (Brazil, historical) vs Armenia Summer (historical)
AMST: [
{
name: "Amazon Summer Time",
iana: ["America/Cuiaba", "America/Campo_Grande"],
note: "UTC−3 (historical DST in parts of Brazil).",
},
{
name: "Armenia Summer Time (AMDT / Armenia Daylight Time)",
iana: ["Asia/Yerevan"],
note: "UTC+5 (historical DST).",
},
],
// AMT is ambiguous: Amazon Time vs Armenia Time
AMT: [
{
name: "Amazon Time",
iana: ["America/Manaus", "America/Porto_Velho", "America/Boa_Vista"],
note: "UTC−4 (northern/western Brazil).",
},
{
name: "Armenia Time",
iana: ["Asia/Yerevan"],
note: "UTC+4.",
},
],
ANAST: [
{
name: "Anadyr Summer Time",
iana: ["Asia/Anadyr"],
note: "UTC+12 (historical DST; Russia abolished DST).",
},
],
ANAT: [
{
name: "Anadyr Time",
iana: ["Asia/Anadyr"],
note: "UTC+12 current standard time.",
},
],
AQTT: [
{
name: "Aqtobe Time",
iana: ["Asia/Aqtobe"],
note: "UTC+5.",
},
],
ART: [
{
name: "Argentina Time",
iana: ["America/Argentina/Buenos_Aires"],
note: "UTC−3; covers mainland Argentina.",
},
],
// AST is ambiguous: Arabia vs Atlantic
AST: [
{
name: "Arabia Standard Time (Arabic/Al Manamah Standard Time)",
iana: ["Asia/Riyadh", "Asia/Baghdad", "Asia/Bahrain", "Asia/Qatar", "Asia/Kuwait"],
note: "UTC+3; no DST in most of the region.",
},
{
name: "Atlantic Standard Time (AT / HNA / Tiempo Estándar del Atlántico)",
iana: ["America/Halifax", "America/Barbados", "America/Puerto_Rico", "America/Curacao"],
note: "UTC−4; Caribbean & Atlantic Canada (winter).",
},
],
AT: [
{
name: "Atlantic Time",
iana: ["America/Halifax", "Atlantic/Bermuda"],
note: "Region label; uses AST (UTC−4) / ADT (UTC−3) with DST.",
},
],
AWDT: [
{
name: "Australian Western Daylight Time (WDT/WST - Western Summer Time)",
iana: ["Australia/Perth"],
note: "UTC+9; historical/rare DST in Western Australia.",
},
],
AWST: [
{
name: "Australian Western Standard Time (WST/WAT - Western Australia Time)",
iana: ["Australia/Perth"],
note: "UTC+8.",
},
],
AZOST: [
{
name: "Azores Summer Time (AZODT)",
iana: ["Atlantic/Azores"],
note: "DST time; UTC±0 during summer.",
},
],
AZOT: [
{
name: "Azores Standard Time (AZOST)",
iana: ["Atlantic/Azores"],
note: "Standard time; UTC−1 in winter.",
},
],
AZST: [
{
name: "Azerbaijan Summer Time",
iana: ["Asia/Baku"],
note: "UTC+5; historical DST (Azerbaijan abolished DST in 2016).",
},
],
AZT: [
{
name: "Azerbaijan Time",
iana: ["Asia/Baku"],
note: "UTC+4; current standard time.",
},
],
AoE: [
{
name: "Anywhere on Earth",
iana: ["Etc/GMT+12"],
note: "Fixed UTC−12 (Etc sign is inverted: GMT+12 == UTC−12).",
},
],
B: [
{
name: "Bravo Time Zone (Military)",
iana: ["Etc/GMT-2"],
note: "Fixed offset; use for UTC+2. Military letters are deprecated in civil use.",
},
],
BNT: [
{
name: "Brunei Darussalam Time (BDT)",
iana: ["Asia/Brunei"],
note: "UTC+8.",
},
],
BOT: [
{
name: "Bolivia Time",
iana: ["America/La_Paz"],
note: "UTC−4.",
},
],
BRST: [
{
name: "Brasília Summer Time (Brazilian DST)",
iana: ["America/Sao_Paulo"],
note: "UTC−2 during historical DST; Brazil abolished DST (2019).",
},
],
BRT: [
{
name: "Brasília Time (Brazil Time)",
iana: ["America/Sao_Paulo"],
note: "UTC−3 current standard time.",
},
],
// BST is ambiguous: Bangladesh / Bougainville / British Summer
BST: [
{
name: "Bangladesh Standard Time",
iana: ["Asia/Dhaka"],
note: "UTC+6.",
},
{
name: "Bougainville Standard Time",
iana: ["Pacific/Bougainville"],
note: "UTC+11 (Papua New Guinea region).",
},
{
name: "British Summer Time (BDT/BDST)",
iana: ["Europe/London"],
note: "UTC+1 during UK DST.",
},
],
BTT: [
{
name: "Bhutan Time",
iana: ["Asia/Thimphu"],
note: "UTC+6.",
},
],
// Military C: Etc/GMT-3 === UTC+3
C: [
{
name: "Charlie Time Zone (Military)",
iana: ["Etc/GMT-3"],
note: "Fixed UTC+3.",
},
],
CAST: [
{
name: "Casey Time",
iana: ["Antarctica/Casey"],
note: "Station time; often UTC+8 (may change with operations).",
},
],
CAT: [
{
name: "Central Africa Time",
iana: ["Africa/Maputo", "Africa/Harare", "Africa/Lusaka"],
note: "UTC+2.",
},
],
CCT: [
{
name: "Cocos Islands Time",
iana: ["Indian/Cocos"],
note: "UTC+6:30.",
},
],
// CDT ambiguous: North American Central Daylight vs Cuba Daylight
CDT: [
{
name:
"Central Daylight Time (North America) / HAC (fr) / NACDT",
iana: [
"America/Chicago",
"America/Winnipeg",
"America/Mexico_City",
"America/Guatemala",
],
note: "UTC−5 during DST.",
},
{
name: "Cuba Daylight Time",
iana: ["America/Havana"],
note: "UTC−4 during DST in Cuba.",
},
],
CEST: [
{
name:
"Central European Summer Time (CEDT/ECST/MESZ)",
iana: ["Europe/Berlin", "Europe/Paris", "Europe/Rome", "Europe/Madrid"],
note: "UTC+2 during DST.",
},
],
CET: [
{
name:
"Central European Time (ECT/MEZ)",
iana: ["Europe/Berlin", "Europe/Paris", "Europe/Rome", "Europe/Madrid"],
note: "UTC+1 standard time.",
},
],
CHADT: [
{
name: "Chatham Island Daylight Time (CDT)",
iana: ["Pacific/Chatham"],
note: "UTC+13:45 during DST.",
},
],
CHAST: [
{
name: "Chatham Island Standard Time",
iana: ["Pacific/Chatham"],
note: "UTC+12:45 standard time.",
},
],
CHOST: [
{
name:
"Choibalsan Summer Time (CHODT/CHODST)",
iana: ["Asia/Choibalsan"],
note: "UTC+9 (historical DST).",
},
],
CHOT: [
{
name: "Choibalsan Time",
iana: ["Asia/Choibalsan"],
note: "UTC+8 current standard time.",
},
],
CHUT: [
{
name: "Chuuk Time",
iana: ["Pacific/Chuuk"],
note: "UTC+10.",
},
],
// Cayman Islands: currently no DST; CIDST is effectively historical/unused
CIDST: [
{
name: "Cayman Islands Daylight Saving Time",
iana: ["America/Cayman"],
note: "No DST currently; kept for completeness.",
},
],
CIST: [
{
name: "Cayman Islands Standard Time (CIT)",
iana: ["America/Cayman"],
note: "UTC−5.",
},
],
CKT: [
{
name: "Cook Island Time",
iana: ["Pacific/Rarotonga"],
note: "UTC−10.",
},
],
CLST: [
{
name: "Chile Summer Time (CLDT)",
iana: ["America/Santiago", "Antarctica/Palmer"],
note: "UTC−3 during DST (mainland & Palmer Station).",
},
],
CLT: [
{
name: "Chile Standard Time (CLST label also seen historically)",
iana: ["America/Santiago", "Antarctica/Palmer"],
note: "UTC−4 standard time (mainland & Palmer Station).",
},
],
COT: [
{
name: "Colombia Time",
iana: ["America/Bogota"],
note: "UTC−5.",
},
],
// CST ambiguous: North American Central / China / Cuba
CST: [
{
name:
"Central Standard Time (North America) / NACST / HNC (fr)",
iana: ["America/Chicago", "America/Winnipeg", "America/Guatemala"],
note: "UTC−6 standard time.",
},
{
name: "China Standard Time",
iana: ["Asia/Shanghai", "Asia/Urumqi"],
note: "UTC+8; single civil time across mainland China.",
},
{
name: "Cuba Standard Time",
iana: ["America/Havana"],
note: "UTC−5 standard time in Cuba.",
},
],
CT: [
{
name: "Central Time (North America)",
iana: ["America/Chicago", "America/Winnipeg", "America/Mexico_City"],
note: "Region label; CST (UTC−6) / CDT (UTC−5) with DST.",
},
],
CVT: [
{
name: "Cape Verde Time",
iana: ["Atlantic/Cape_Verde"],
note: "UTC−1.",
},
],
CXT: [
{
name: "Christmas Island Time",
iana: ["Indian/Christmas"],
note: "UTC+7.",
},
],
// The common abbreviation is "ChST" (capital C, lowercase h)
ChST: [
{
name: "Chamorro Standard Time (Guam Standard Time)",
iana: ["Pacific/Guam", "Pacific/Saipan"],
note: "UTC+10.",
},
],
D: [{ name: "Delta Time Zone (Military)", iana: ["Etc/GMT-4"], note: "Fixed UTC+4." }],
DAVT: [{ name: "Davis Time", iana: ["Antarctica/Davis"], note: "Typically UTC+7." }],
DDUT: [{ name: "Dumont-d'Urville Time", iana: ["Antarctica/DumontDUrville"], note: "UTC+10." }],
E: [{ name: "Echo Time Zone (Military)", iana: ["Etc/GMT-5"], note: "Fixed UTC+5." }],
EASST: [{ name: "Easter Island Summer Time (EADT)", iana: ["Pacific/Easter"], note: "UTC−5 during DST." }],
EAST: [{ name: "Easter Island Standard Time", iana: ["Pacific/Easter"], note: "UTC−6 standard." }],
EAT: [
{
name: "Eastern Africa Time",
iana: ["Africa/Nairobi", "Africa/Addis_Ababa", "Africa/Dar_es_Salaam"],
note: "UTC+3, no DST."
},
],
ECT: [{ name: "Ecuador Time", iana: ["America/Guayaquil"], note: "UTC−5 (mainland)." }],
EDT: [
{
name: "Eastern Daylight Time (North America/Caribbean)",
iana: ["America/New_York", "America/Toronto", "America/Nassau", "America/Port-au-Prince"],
note: "UTC−4 during DST."
},
],
EEST: [
{
name: "Eastern European Summer Time",
iana: ["Europe/Kyiv", "Europe/Athens", "Europe/Bucharest", "Asia/Beirut"],
note: "UTC+3 during DST."
},
],
EET: [
{
name: "Eastern European Time",
iana: ["Europe/Kyiv", "Europe/Athens", "Europe/Bucharest", "Asia/Nicosia"],
note: "UTC+2 standard."
},
],
EGST: [{ name: "Eastern Greenland Summer Time", iana: ["America/Scoresbysund"], note: "UTC±0 during DST." }],
EGT: [{ name: "East Greenland Time", iana: ["America/Scoresbysund"], note: "UTC−1 standard." }],
EST: [
{
name: "Eastern Standard Time (North America/Caribbean/Central America)",
iana: ["America/New_York", "America/Toronto", "America/Panama", "America/Jamaica"],
note: "UTC−5 standard."
},
],
ET: [
{
name: "Eastern Time (region label)",
iana: ["America/New_York", "America/Toronto"],
note: "Covers EST (UTC−5) / EDT (UTC−4)."
},
],
F: [{ name: "Foxtrot Time Zone (Military)", iana: ["Etc/GMT-6"], note: "Fixed UTC+6." }],
FET: [{ name: "Further-Eastern European Time", iana: ["Europe/Minsk"], note: "UTC+3; no DST." }],
FJST: [{ name: "Fiji Summer Time", iana: ["Pacific/Fiji"], note: "UTC+13 during DST (intermittent policy)." }],
FJT: [{ name: "Fiji Time", iana: ["Pacific/Fiji"], note: "UTC+12 standard." }],
FKST: [{ name: "Falkland Islands Summer Time", iana: ["Atlantic/Stanley"], note: "UTC−3 during DST (historical usage)." }],
FKT: [{ name: "Falkland Island Time (Standard)", iana: ["Atlantic/Stanley"], note: "UTC−4 standard (historical)." }],
FNT: [{ name: "Fernando de Noronha Time", iana: ["America/Noronha"], note: "UTC−2." }],
G: [{ name: "Golf Time Zone (Military)", iana: ["Etc/GMT-7"], note: "Fixed UTC+7." }],
GALT: [{ name: "Galapagos Time", iana: ["Pacific/Galapagos"], note: "UTC−6 (Galápagos Islands)." }],
GAMT: [{ name: "Gambier Time", iana: ["Pacific/Gambier"], note: "UTC−9." }],
GET: [{ name: "Georgia Standard Time", iana: ["Asia/Tbilisi"], note: "UTC+4." }],
GFT: [{ name: "French Guiana Time", iana: ["America/Cayenne"], note: "UTC−3." }],
GILT:[{ name: "Gilbert Island Time", iana: ["Pacific/Tarawa"], note: "UTC+12." }],
GMT: [
{
name: "Greenwich Mean Time / UTC",
iana: ["Etc/UTC", "Etc/GMT"],
note: "UTC±0; use Etc/UTC as canonical."
},
],
// GST ambiguous: Gulf (UTC+4) vs South Georgia (UTC−2)
GST: [
{ name: "Gulf Standard Time", iana: ["Asia/Dubai", "Asia/Muscat"], note: "UTC+4; no DST." },
{ name: "South Georgia Time", iana: ["Atlantic/South_Georgia"], note: "UTC−2." },
],
GYT: [{ name: "Guyana Time", iana: ["America/Guyana"], note: "UTC−4." }],
H: [{ name: "Hotel Time Zone (Military)", iana: ["Etc/GMT-8"], note: "Fixed UTC+8." }],
HDT: [
{
name: "Hawaii-Aleutian Daylight Time",
iana: ["America/Adak"],
note: "UTC−9 during DST in Aleutians; Hawaii proper does not use DST."
},
],
HKT: [{ name: "Hong Kong Time", iana: ["Asia/Hong_Kong"], note: "UTC+8." }],
HOVST: [{ name: "Hovd Summer Time", iana: ["Asia/Hovd"], note: "UTC+8 (historical DST, Mongolia)." }],
HOVT: [{ name: "Hovd Time", iana: ["Asia/Hovd"], note: "UTC+7 standard (Mongolia)." }],
HST: [
{
name: "Hawaii Standard Time (HAST/Hawaii–Aleutian Standard)",
iana: ["Pacific/Honolulu", "America/Adak"],
note: "UTC−10; Hawaii year-round, Aleutians in winter."
},
],
I: [{ name: "India Time Zone (Military)", iana: ["Etc/GMT-9"], note: "Fixed UTC+9." }],
ICT: [{ name: "Indochina Time", iana: ["Asia/Bangkok", "Asia/Ho_Chi_Minh", "Asia/Phnom_Penh", "Asia/Vientiane"], note: "UTC+7." }],
IDT: [{ name: "Israel Daylight Time", iana: ["Asia/Jerusalem"], note: "UTC+3 during DST." }],
IOT: [{ name: "Indian Chagos Time", iana: ["Indian/Chagos"], note: "UTC+6." }],
IRDT: [
{
name: "Iran Daylight Time (Iran Summer Time)",
iana: ["Asia/Tehran"],
note: "UTC+4:30 during DST (historical/periodic policy)."
},
],
IRKST: [{ name: "Irkutsk Summer Time", iana: ["Asia/Irkutsk"], note: "UTC+9 (historical DST)." }],
IRKT: [{ name: "Irkutsk Time", iana: ["Asia/Irkutsk"], note: "UTC+8 current." }],
IRST: [{ name: "Iran Standard Time", iana: ["Asia/Tehran"], note: "UTC+3:30." }],
// IST is highly ambiguous: India / Ireland / Israel
IST: [
{ name: "India Standard Time", iana: ["Asia/Kolkata"], note: "UTC+5:30." },
{ name: "Irish Standard/Summer Time", iana: ["Europe/Dublin"], note: "UTC+1 during DST." },
{ name: "Israel Standard Time", iana: ["Asia/Jerusalem"], note: "UTC+2 standard." },
],
JST: [{ name: "Japan Standard Time", iana: ["Asia/Tokyo"], note: "UTC+9." }],
K: [{ name: "Kilo Time Zone (Military)", iana: ["Etc/GMT-10"], note: "Fixed UTC+10." }],
KGT: [{ name: "Kyrgyzstan Time", iana: ["Asia/Bishkek"], note: "UTC+6." }],
KOST:[{ name: "Kosrae Time", iana: ["Pacific/Kosrae"], note: "UTC+11." }],
KRAST: [{ name: "Krasnoyarsk Summer Time", iana: ["Asia/Krasnoyarsk"], note: "UTC+8 (historical DST)." }],
KRAT: [{ name: "Krasnoyarsk Time", iana: ["Asia/Krasnoyarsk"], note: "UTC+7 current." }],
KST: [{ name: "Korea Standard Time", iana: ["Asia/Seoul"], note: "UTC+9." }],
KUYT: [{ name: "Kuybyshev Time (Samara)", iana: ["Europe/Samara"], note: "UTC+4; modern Samara time." }],
L: [{ name: "Lima Time Zone (Military)", iana: ["Etc/GMT-11"], note: "Fixed UTC+11." }],
LHDT: [{ name: "Lord Howe Daylight Time", iana: ["Australia/Lord_Howe"], note: "UTC+11 during DST." }],
LHST: [{ name: "Lord Howe Standard Time", iana: ["Australia/Lord_Howe"], note: "UTC+10:30 standard." }],
LINT: [{ name: "Line Islands Time", iana: ["Pacific/Kiritimati"], note: "UTC+14." }],
M: [{ name: "Mike Time Zone (Military)", iana: ["Etc/GMT-12"], note: "Fixed UTC+12." }],
MAGST: [{ name: "Magadan Summer Time", iana: ["Asia/Magadan"], note: "UTC+12 (historical DST)." }],
MAGT: [{ name: "Magadan Time", iana: ["Asia/Magadan"], note: "UTC+11 current." }],
MART: [{ name: "Marquesas Time", iana: ["Pacific/Marquesas"], note: "UTC−9:30." }],
MAWT: [{ name: "Mawson Time", iana: ["Antarctica/Mawson"], note: "UTC+5." }],
MDT: [
{
name: "Mountain Daylight Time (North America)",
iana: ["America/Denver", "America/Edmonton"],
note: "UTC−6 during DST. (Phoenix does not observe DST.)"
},
],
MHT: [{ name: "Marshall Islands Time", iana: ["Pacific/Majuro", "Pacific/Kwajalein"], note: "UTC+12." }],
MMT: [{ name: "Myanmar Time", iana: ["Asia/Yangon"], note: "UTC+6:30." }],
MSD: [{ name: "Moscow Daylight Time", iana: ["Europe/Moscow"], note: "UTC+4 (historical DST)." }],
MSK: [{ name: "Moscow Standard Time", iana: ["Europe/Moscow"], note: "UTC+3 current." }],
MST: [
{
name: "Mountain Standard Time (North America)",
iana: ["America/Denver", "America/Phoenix"],
note: "UTC−7 standard; Phoenix is year-round MST."
},
],
MT: [
{
name: "Mountain Time (region label)",
iana: ["America/Denver", "America/Edmonton"],
note: "Covers MST (UTC−7) / MDT (UTC−6)."
},
],
MUT: [{ name: "Mauritius Time", iana: ["Indian/Mauritius"], note: "UTC+4." }],
MVT: [{ name: "Maldives Time", iana: ["Indian/Maldives"], note: "UTC+5." }],
MYT: [{ name: "Malaysia Time (Malaysian Standard Time)", iana: ["Asia/Kuala_Lumpur", "Asia/Kuching"], note: "UTC+8." }],
// Military N: Etc/GMT+1 === UTC−1
N: [{ name: "November Time Zone (Military)", iana: ["Etc/GMT+1"], note: "Fixed UTC−1." }],
NCT: [{ name: "New Caledonia Time", iana: ["Pacific/Noumea"], note: "UTC+11." }],
NDT: [{ name: "Newfoundland Daylight Time", iana: ["America/St_Johns"], note: "UTC−2:30 during DST." }],
NFDT:[{ name: "Norfolk Daylight Time", iana: ["Pacific/Norfolk"], note: "UTC+12 during historical DST." }],
NFT: [{ name: "Norfolk Time (Norfolk Island Time)", iana: ["Pacific/Norfolk"], note: "UTC+11 standard (policy changed over years)." }],
NOVST: [
{ name: "Novosibirsk Summer Time", iana: ["Asia/Novosibirsk"], note: "UTC+7 (historical DST)." },
{ name: "Omsk Summer Time", iana: ["Asia/Omsk"], note: "Historical DST in Omsk region." },
],
NOVT: [
{ name: "Novosibirsk Time", iana: ["Asia/Novosibirsk"], note: "UTC+7 current." },
{ name: "Omsk Standard Time", iana: ["Asia/Omsk"], note: "Today UTC+6; label historically varied." },
],
NPT: [{ name: "Nepal Time", iana: ["Asia/Kathmandu"], note: "UTC+5:45." }],
NRT: [{ name: "Nauru Time", iana: ["Pacific/Nauru"], note: "UTC+12." }],
NST: [{ name: "Newfoundland Standard Time", iana: ["America/St_Johns"], note: "UTC−3:30 standard." }],
NUT: [{ name: "Niue Time", iana: ["Pacific/Niue"], note: "UTC−11." }],
NZDT: [{ name: "New Zealand Daylight Time", iana: ["Pacific/Auckland", "Antarctica/McMurdo"], note: "UTC+13 during DST." }],
NZST: [{ name: "New Zealand Standard Time", iana: ["Pacific/Auckland", "Antarctica/McMurdo"], note: "UTC+12 standard." }],
// Military letters (Etc/GMT sign is inverted: Etc/GMT+2 === UTC−2)
O: [{ name: "Oscar Time Zone (Military)", iana: ["Etc/GMT+2"], note: "Fixed UTC−2." }],
OMSST: [{ name: "Omsk Summer Time (Novosibirsk Summer Time)", iana: ["Asia/Omsk"], note: "Historical DST ~UTC+7." }],
OMST: [{ name: "Omsk Standard Time", iana: ["Asia/Omsk"], note: "UTC+6 current." }],
ORAT: [{ name: "Oral Time", iana: ["Asia/Oral"], note: "UTC+5 (Kazakhstan)." }],
P: [{ name: "Papa Time Zone (Military)", iana: ["Etc/GMT+3"], note: "Fixed UTC−3." }],
PDT: [{
name: "Pacific Daylight Time (North America)",
iana: ["America/Los_Angeles", "America/Vancouver", "America/Tijuana"],
note: "UTC−7 during DST."
}],
PET: [{ name: "Peru Time", iana: ["America/Lima"], note: "UTC−5." }],
// PETST (Kamchatka Summer) historically UTC+13; Russia no longer uses DST
PETST: [{ name: "Kamchatka Summer Time", iana: ["Asia/Kamchatka"], note: "Historical DST (~UTC+13)." }],
PETT: [{ name: "Kamchatka Time", iana: ["Asia/Kamchatka"], note: "UTC+12 current." }],
PGT: [{ name: "Papua New Guinea Time", iana: ["Pacific/Port_Moresby"], note: "UTC+10 (Bougainville uses UTC+11)." }],
PHOT: [{ name: "Phoenix Island Time", iana: ["Pacific/Kanton"], note: "UTC+13." }],
PHT: [{ name: "Philippine Time (Philippine Standard Time)", iana: ["Asia/Manila"], note: "UTC+8." }],
PKT: [{ name: "Pakistan Standard Time", iana: ["Asia/Karachi"], note: "UTC+5." }],
PMDT: [{ name: "Saint Pierre & Miquelon Daylight Time", iana: ["America/Miquelon"], note: "UTC−2 during DST." }],
PMST: [{ name: "Saint Pierre & Miquelon Standard Time", iana: ["America/Miquelon"], note: "UTC−3 standard." }],
PONT: [{ name: "Pohnpei Standard Time", iana: ["Pacific/Pohnpei"], note: "UTC+11." }],
// PST ambiguous: Pacific (North America) vs Pitcairn
PST: [
{
name: "Pacific Standard Time (North America)",
iana: ["America/Los_Angeles", "America/Vancouver", "America/Tijuana"],
note: "UTC−8 standard."
},
{
name: "Pitcairn Standard Time",
iana: ["Pacific/Pitcairn"],
note: "UTC−8 (Pitcairn Islands)."
},
],
PT: [{
name: "Pacific Time (region label)",
iana: ["America/Los_Angeles", "America/Vancouver"],
note: "Covers PST (UTC−8) / PDT (UTC−7)."
}],
PWT: [{ name: "Palau Time", iana: ["Pacific/Palau"], note: "UTC+9." }],
PYST: [{ name: "Paraguay Summer Time", iana: ["America/Asuncion"], note: "UTC−3 during DST (policy has varied)." }],
// PYT ambiguous: Paraguay vs Pyongyang (historical)
PYT: [
{ name: "Paraguay Time", iana: ["America/Asuncion"], note: "UTC−4 standard. (Иногда источник указывает −3 — это летнее время PYST.)" },
{ name: "Pyongyang Time", iana: ["Asia/Pyongyang"], note: "UTC+8:30 (2015–2018); сейчас КНДР использует UTC+9 (KST)." },
],
Q: [{ name: "Quebec Time Zone (Military)", iana: ["Etc/GMT+4"], note: "Fixed UTC−4." }],
// Qyzylorda moved to UTC+5 in 2018
QYZT: [{ name: "Qyzylorda Time", iana: ["Asia/Qyzylorda"], note: "UTC+5 current; historical UTC+6." }],
R: [{ name: "Romeo Time Zone (Military)", iana: ["Etc/GMT+5"], note: "Fixed UTC−5." }],
RET: [{ name: "Réunion Time", iana: ["Indian/Reunion"], note: "UTC+4." }],
ROTT: [{ name: "Rothera Time", iana: ["Antarctica/Rothera"], note: "UTC−3 (British Antarctic Survey)." }],
S: [{ name: "Sierra Time Zone (Military)", iana: ["Etc/GMT+6"], note: "Fixed UTC−6." }],
SAKT: [{ name: "Sakhalin Time", iana: ["Asia/Sakhalin"], note: "UTC+11." }],
SAMT: [{ name: "Samara Time", iana: ["Europe/Samara"], note: "UTC+4." }],
SAST: [{ name: "South Africa Standard Time", iana: ["Africa/Johannesburg"], note: "UTC+2." }],
SBT: [{ name: "Solomon Islands Time", iana: ["Pacific/Guadalcanal"], note: "UTC+11." }],
SCT: [{ name: "Seychelles Time", iana: ["Indian/Mahe"], note: "UTC+4." }],
SGT: [{ name: "Singapore Time (Singapore Standard Time)", iana: ["Asia/Singapore"], note: "UTC+8." }],
SRET: [{ name: "Srednekolymsk Time", iana: ["Asia/Srednekolymsk"], note: "UTC+11." }],
SRT: [{ name: "Suriname Time", iana: ["America/Paramaribo"], note: "UTC−3." }],
SST: [{ name: "Samoa Standard Time", iana: ["Pacific/Pago_Pago"], note: "UTC−11." }],
SYOT: [{ name: "Syowa Time", iana: ["Antarctica/Syowa"], note: "UTC+3 (Japan's Syowa Station)." }],
T: [{ name: "Tango Time Zone (Military)", iana: ["Etc/GMT+7"], note: "Fixed UTC−7." }],
TAHT: [{ name: "Tahiti Time", iana: ["Pacific/Tahiti"], note: "UTC−10." }],
TFT: [{ name: "French Southern and Antarctic Time (Kerguelen)", iana: ["Indian/Kerguelen"], note: "UTC+5." }],
TJT: [{ name: "Tajikistan Time", iana: ["Asia/Dushanbe"], note: "UTC+5." }],
TKT: [{ name: "Tokelau Time", iana: ["Pacific/Fakaofo"], note: "UTC+13." }],
TLT: [{ name: "East Timor Time", iana: ["Asia/Dili"], note: "UTC+9." }],
TMT: [{ name: "Turkmenistan Time", iana: ["Asia/Ashgabat"], note: "UTC+5." }],
TOST: [{ name: "Tonga Summer Time", iana: ["Pacific/Tongatapu"], note: "UTC+14 during DST (historical/policy-based)." }],
TOT: [{ name: "Tonga Time", iana: ["Pacific/Tongatapu"], note: "UTC+13." }],
TRT: [{ name: "Turkey Time", iana: ["Europe/Istanbul"], note: "UTC+3 year-round since 2016." }],
TVT: [{ name: "Tuvalu Time", iana: ["Pacific/Funafuti"], note: "UTC+12." }],
// Military letters (Etc/GMT sign is inverted: Etc/GMT+8 === UTC−8)
U: [{ name: "Uniform Time Zone (Military)", iana: ["Etc/GMT+8"], note: "Fixed UTC−8." }],
ULAST:[{ name: "Ulaanbaatar Summer Time", iana: ["Asia/Ulaanbaatar"], note: "UTC+9 (historical DST)." }],
ULAT: [{ name: "Ulaanbaatar Time", iana: ["Asia/Ulaanbaatar"], note: "UTC+8." }],
UTC: [{ name: "Coordinated Universal Time", iana: ["Etc/UTC"], note: "UTC±0; canonical base." }],
UYST: [{ name: "Uruguay Summer Time", iana: ["America/Montevideo"], note: "UTC−2 (historical DST)." }],
UYT: [{ name: "Uruguay Time", iana: ["America/Montevideo"], note: "UTC−3." }],
UZT: [{ name: "Uzbekistan Time", iana: ["Asia/Tashkent"], note: "UTC+5." }],
// Military letters (Etc/GMT+9 === UTC−9)
V: [{ name: "Victor Time Zone (Military)", iana: ["Etc/GMT+9"], note: "Fixed UTC−9." }],
VET: [{ name: "Venezuelan Standard Time", iana: ["America/Caracas"], note: "UTC−4 (since 2016)." }],
VLAST:[{ name: "Vladivostok Summer Time", iana: ["Asia/Vladivostok"], note: "UTC+11 (historical DST)." }],
VLAT: [{ name: "Vladivostok Time", iana: ["Asia/Vladivostok"], note: "UTC+10 current." }],
VOST: [{ name: "Vostok Time", iana: ["Antarctica/Vostok"], note: "UTC+6." }],
VUT: [{ name: "Vanuatu Time (Efate)", iana: ["Pacific/Efate"], note: "UTC+11." }],
// Military letters (Etc/GMT+10 === UTC−10)
W: [{ name: "Whiskey Time Zone (Military)", iana: ["Etc/GMT+10"], note: "Fixed UTC−10." }],
WAKT: [{ name: "Wake Time", iana: ["Pacific/Wake"], note: "UTC+12." }],
WARST:[{ name: "Western Argentine Summer Time", iana: ["America/Argentina/San_Luis"], note: "UTC−3 (historical DST in western provinces)." }],
// Namibia used DST historically (WAST); today Africa/Windhoek stays UTC+2
WAST: [{ name: "West Africa Summer Time", iana: ["Africa/Windhoek"], note: "Historical DST designation." }],
WAT: [{ name: "West Africa Time", iana: ["Africa/Lagos", "Africa/Luanda", "Africa/Libreville"], note: "UTC+1." }],
WEST: [{ name: "Western European Summer Time", iana: ["Europe/Lisbon", "Atlantic/Canary", "Atlantic/Madeira"], note: "UTC+1 during DST." }],
WET: [{ name: "Western European Time (GMT)", iana: ["Europe/Lisbon", "Atlantic/Canary", "Atlantic/Madeira"], note: "UTC±0 standard." }],
WFT: [{ name: "Wallis and Futuna Time", iana: ["Pacific/Wallis"], note: "UTC+12." }],
// Greenland (West): standard WGT UTC−3; DST WGST UTC−2
WGST: [{ name: "Western Greenland Summer Time", iana: ["America/Nuuk"], note: "UTC−2 during DST (policy changes in 2019)." }],
WGT: [{ name: "Western Greenland Time", iana: ["America/Nuuk"], note: "UTC−3 standard." }],
WIB: [{ name: "Western Indonesian Time (Waktu Indonesia Barat)", iana: ["Asia/Jakarta", "Asia/Pontianak"], note: "UTC+7." }],
WIT: [{ name: "Eastern Indonesian Time (Waktu Indonesia Timur)", iana: ["Asia/Jayapura"], note: "UTC+9." }],
WITA: [{ name: "Central Indonesian Time (Waktu Indonesia Tengah)", iana: ["Asia/Makassar", "Asia/Denpasar"], note: "UTC+8." }],
// Samoa: present-day Pacific/Apia (policy shifted; UTC+13 standard, DST intermittent)
WST: [
{ name: "West Samoa Time (Samoa Time)", iana: ["Pacific/Apia"], note: "UTC+13 standard; DST policies varied." },
{ name: "Western Sahara Summer Time", iana: ["Africa/El_Aaiun"], note: "UTC+1 (historical/seasonal policy)." },
],
WT: [{ name: "Western Sahara Standard Time", iana: ["Africa/El_Aaiun"], note: "UTC±0 standard." }],
// Military letters
X: [{ name: "X-ray Time Zone (Military)", iana: ["Etc/GMT+11"], note: "Fixed UTC−11." }],
Y: [{ name: "Yankee Time Zone (Military)", iana: ["Etc/GMT+12"], note: "Fixed UTC−12." }],
YAKST:[{ name: "Yakutsk Summer Time", iana: ["Asia/Yakutsk"], note: "UTC+10 (historical DST)." }],
YAKT: [{ name: "Yakutsk Time", iana: ["Asia/Yakutsk"], note: "UTC+9 current." }],
YAPT: [{ name: "Yap Time", iana: ["Pacific/Yap"], note: "UTC+10." }],
YEKST:[{ name: "Yekaterinburg Summer Time", iana: ["Asia/Yekaterinburg"], note: "UTC+6 (historical DST)." }],
YEKT: [{ name: "Yekaterinburg Time", iana: ["Asia/Yekaterinburg"], note: "UTC+5 current." }],
// Military Zulu
Z: [{ name: "Zulu Time Zone (Military)", iana: ["Etc/UTC"], note: "UTC±0; same as UTC." }],
} as const;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment