DateTim...::Extend(3)
π NAME π
Okay so bestie, this is the manual page for DateTim...::Extend(3) β from the User Contributed Perl Documentation, no cap β and the actual full module name is DateTime::TimeZone::Catalog::Extend.
What it does, in one breath: it extends the DateTime::TimeZone catalog. That's the whole vibe. β¨
π SYNOPSIS π
Like, literally just use it, that's it:
use DateTime::TimeZone;
# After DateTime::TimeZone is loaded, let's extend it
use DateTime::TimeZone::Catalog::Extend;
# That's it; nothing more
# This would normally trigger an exception, but not anymore
my $tz = DateTime::TimeZone->new( name => 'JST' );
# Get the list of all aliases
my $aliases = DateTime::TimeZone::Catalog::Extend->aliases;
my $map = DateTime::TimeZone::Catalog::Extend->zone_map;
my $fmt = DateTime::Format::Strptime->new(
pattern => $pattern,
zone_map => $map,
);
my $dt = $fmt->parse_datetime( $str );
die( $fmt->errmsg ) if( !defined( $dt ) );
Notice the second comment: "That's it; nothing more." Fr fr, there is genuinely nothing else you have to do. π«Ά
π VERSION π
v0.3.3 β that's the one, bestie. π¦
π DESCRIPTION π
So here's the tea π΅: this is a very simple module, and it's built on top of the list of time zone aliases over at https://en.wikipedia.org/wiki/List_of_time_zone_abbreviations β you know, those little abbreviation gremlins that keep showing up in dates. π
The moment you use this module, it goes ahead and adds those aliases to the DateTime::TimeZone::Catalog, each one paired up with its corresponding time zone offset. Iconic behaviour honestly. π
β οΈ But listen β when there's more than one time zone offset in the list for a given alias, only the first one is set. That's it, that's the rule. No merging, no picking your fave, just the first. π
And here's the list of those time zone aliases and their offset:
okay so here's the whole cast of characters, in order, no skips π
"A"β+0100, Alpha Military Time Zone. the single-letter military zones really said "alphabet but make it time" ποΈ"ACDT"β+10:30, Australian Central Daylight Saving Time. half-past-ten offsets keep you humble."ACST"β+09:30, Australian Central Standard Time. the standard-time sibling, matching energy."ACT"β+08:00, ASEAN Common Time. four-letter acronym, zero notes π"ACWST"β+08:45, Australian Central Western Standard Time. forty-five minutes off the hour, absolute icon behavior."ADT"β-03:00, Atlantic Daylight Time. the daylight version of the Atlantic story."AEDT"β+11:00, Australian Eastern Daylight Saving Time. big +11 energy."AES"β+10:00, Australian Eastern Standard Time. yep, same offset as its cousins below, don't @ me, it's listed."AEST"β+10:00, Australian Eastern Standard Time. the one everyone actually types."AET"β+10:00, Australian Eastern Time. short and sweet, still +10."AFT"β+04:30, Afghanistan Time. the half-hour offsets are a whole genre now."AHDT"β-0900, Alaska-Hawaii Daylight Time. note: this one's written without the colon, king of inconsistency π«Ά"AHST"β-1000, Alaska-Hawaii Standard Time. same deal, no colon."AKDT"β-08:00, Alaska Daylight Time. daylight, Alaska edition."AKST"β-09:00, Alaska Standard Time. the standard-time twin."ALMT"β+06:00, Alma-Ata Time. yes bestie, it's a real place and it has a timezone."AMST"β-03:00, Amazon Summer Time (Brazil). nested parens, they came prepared."AMT"β+04:00, Armenia Time. four hours ahead, living her life."ANAST"β+1300, Anadyr Summer Time. colon-less summer variant, slay."ANAT"β+12:00, Anadyr Time. +12, the classic."AQTT"β+05:00, Aqtobe Time. five letters, one vibe."ART"β-03:00, Argentina Time. three simple letters π"AST"β-04:00, Atlantic Standard Time. not to be confused with literally a dozen other ASTs."AT"β-0100, Azores Time. two letters, no colon, mysterious."AWST"β+08:00, Australian Western Standard Time. western Australia said "we're +08 and we're fine.""AZOST"βUTC, Azores Summer Time. the offset literally readsUTC, that's not a typo, that's just what it says π"AZOT"β-01:00, Azores Standard Time. one hour behind the big one."AZST"β+0500, Azerbaijan Summer Time. summer showing off with the no-colon fit."AZT"β+04:00, Azerbaijan Time. non-summer, non-drama."B"β+0200, Bravo Military Time Zone. letter number two, Bravo"BADT"β+0400, Baghdad Daylight Time. daylight with a capital D."BAT"β+0600, Baghdad Time. six hours, no colon, iconic."BDST"β+0200, British Double Summer Time. "double summer" is such a flex of a name π"BDT"β+0600, Bangladesh Time. +06 and thriving."BET"β-1100, Bering Standard Time. deep negative hours."BIOT"β+06:00, British Indian Ocean Time. also a very cute acronym, ngl."BIT"β-12:00, Baker Island Time. a whole twelve hours back, queen of the extremes."BNT"β+08:00, Brunei Time. three letters, one handsome offset."BORT"β+0800, Borneo Time (Indonesia). parenthetical country tag, appreciated π"BOT"β-04:00, Bolivia Time. four behind."BRA"β-0300, Brazil Time. no colon, all confidence."BRST"β-02:00, BrasΓlia Summer Time. note the littleΓ, keep it, we love an accent π"BRT"β-03:00, BrasΓlia Time. the standard one."BST"β+01:00, British Summer Time (British Standard Time from Feb 1968 to Oct 1971). huge lore drop in the parentheses, it's British Standard Time from Feb 1968 to Oct 1971, noted and preserved π«‘"BTT"β+06:00, Bhutan Time. +06, no notes."C"β+0300, Charlie Military Time Zone. Charlie, present and accounted for."CAST"β+0930, Casey Time Zone. yes, this one's called a "Time Zone," it's different from the others, respect it π"CAT"β+02:00, Central Africa Time. meow πΌ- *
"CCT"** β+06:30`, *Cocos Islands Time. a half-hour again, they can't keep getting away with this. "CDT"β-04:00, Cuba Daylight Time. key detail: Cuba, not Central β don't merge them."CEST"β+02:00, Central European Summer Time. the summer one everybody schedules meetings in."CET"β+01:00, Central European Time. the winter one everybody also schedules meetings in."CETDST"β+0200, Central Europe Summer Time. slightly different spelling fromCESTabove β that's the original, keep both π€"CHADT"β+13:45, Chatham Daylight Time. thirteen forty-five. a forty-five-minute offset? main character energy, periodt."CHAST"β+12:45, Chatham Standard Time. the standard twin, equally chaotic."CHOST"β+09:00, Choibalsan Summer Time. summer, but with a colon."CHOT"β+08:00, Choibalsan Standard Time. standard, also colon."CHST"β+10:00, Chamorro Standard Time. keep an eye out,ChST(capital C, lowercase h) shows up later too π"CHUT"β+10:00, Chuuk Time. four letters, one double-u situation."CIST"β-08:00, Clipperton Island Standard Time. negative eight, tiny island, big presence."CKT"β-10:00, Cook Island Time. singular "Island," that's how it's written, don't fix it."CLST"β-03:00, Chile Summer Time. summer, minus three."CLT"β-04:00, Chile Standard Time. standard, minus four."COST"β-04:00, Colombia Summer Time. coincidentally also minus four."COT"β-05:00, Colombia Time. minus five, no drama."CST"β-05:00, Cuba Standard Time. again: Cuba. this is not the Central one. respect the distinction π"CSuT"β+1030, Australian Central Daylight. yes, that lowercaseuin the middle is real and correct."CT"β-06:00, Central Time. short king."CUT"β+0000, Coordinated Universal Time. zero, baby. no colon though."CVT"β-01:00, Cape Verde Time. one behind."CWST"β+08:45, Central Western Standard Time (Australia). forty-five minutes AND a parenthetical, doing the most π"CXT"β+07:00, Christmas Island Time. yes it's a real timezone and yes it's festive π"ChST"β+1000, Chamorro Standard Time. the varied-case twin ofCHSTup at #58 β both live here, both count."D"β+0400, Delta Military Time Zone. Delta, reporting for duty."DAVT"β+07:00, Davis Time. +07 with a colon, living right."DDUT"β+10:00, Dumont d'Urville Time. the apostrophe is part of the deal, keep it π"DFT"β+01:00, AIX-specific equivalent of Central European Time. the AIX one, specifically. it said "I'm the CET equivalent but make it AIX" π"DNT"β+0100, Dansk Normal. no colon, Danish, immaculate."DST"β+0200, Dansk Summer. the summer counterpart."E"β+0500, Echo Military Time Zone. Echo, loud and clear."EASST"β-05:00, Easter Island Summer Time. two S's, don't drop one."EAST"β-06:00, Easter Island Standard Time. one S this time. they're different, I promise."EAT"β+03:00, East Africa Time. honestly? serve."ECT"β-05:00, Ecuador Time. minus five."EDT"β-04:00, Eastern Daylight Time (North America). the classic, with the continent tag so you know which one πΈ"EEST"β+03:00, Eastern European Summer Time. double E, double summer."EET"β+02:00, Eastern European Time. double E, no summer."EETDST"β+0300, European Eastern Summer. note it's "European Eastern," not "Eastern European" β that's the original, we keep it π«Ά"EGST"βUTC, Eastern Greenland Summer Time. offset readsUTC, that's what it says, that's what we write."EGT"β-01:00, Eastern Greenland Time. one behind."EMT"β+0100, Norway Time. fun fact from the list: the name says Norway, the abbreviation says EMT. both true, both here β¨"EST"β-05:00, Eastern Standard Time (North America). the one everyone's calendar is secretly in."ESuT"β+1100, Australian Eastern Daylight. lowercaseustrikes again, iconic."ET"β-04:00, Eastern Time (North America). two letters, continent tag, done."F"β+0600, Foxtrot Military Time Zone. Foxtrot, we love a dancer π"FET"β+03:00, Further-eastern European Time. "further-eastern" is such a specific mood."FJST"β+1300, Fiji Summer Time. +13, no colon, confident."FJT"β+12:00, Fiji Time. +12 with the colon, equally confident."FKST"β-03:00, Falkland Islands Summer Time. plural Islands, keep the S."FKT"β-04:00, Falkland Islands Time. the one-triple-zero landmark, we made it to a hundred π"FNT"β-02:00, Fernando de Noronha Time. a whole name, a whole vibe."FWT"β+0100, French Winter Time. winter, French, no colon."G"β+0700, Golf Military Time Zone. Golf."GALT"β-06:00, Galapagos Time. tortoise time π’"GAMT"β-09:00, Gambier Islands Time. plural islands, nine behind."GEST"β+0500, Georgia Summer Time. summer, no colon."GET"β+04:00, Georgia Standard Time. standard, with colon."GFT"β-03:00, French Guiana Time. three behind."GILT"β+12:00, Gilbert Island Time. singular "Island," and yes it's spelled that way."GIT"β-09:00, Gambier Island Time. singular this time β don't assume it's the same as #105, it's a separate line."GMT"βUTC, Greenwich Mean Time. the blueprint. offset literallyUTC."GST"β+04:00, Gulf Standard Time. four ahead."GT"β+0000, Greenwich Time. zero, no colon."GYT"β-04:00, Guyana Time. four behind."GZ"β+0000, Greenwichzeit. two letters, German, zero offset. π§"H"β+0800, Hotel Military Time Zone. Hotel, checking in π¨"HAA"β-0300, Heure AvancΓ©e de l'Atlantique. the French block starts here, accents and all π"HAC"β-0500, Heure Avancee du Centre. no accent on this one β that's how the list has it."HAE"β-0400, Heure Avancee de l'Est. also accent-free, also real."HAEC"β+02:00, Heure AvancΓ©e d'Europe Centrale. accent's back, and it brought a colon."HAP"β-0700, Heure Avancee du Pacifique. seven behind."HAR"β-0600, Heure Avancee des Rocheuses. the Rockies one."HAT"β-0230, Heure Avancee de Terre-Neuve. minus two thirty, half-hour chaos."HAY"β-0800, Heure Avancee du Yukon. eight behind."HDT"β-09:00, HawaiiβAleutian Daylight Time. that's an en dash in there, keep it cute β¨"HFE"β+0200, Heure Fancais d'Ete. spelled exactly like that in the source β we do not correct the ancestors π"HFH"β+0100, Heure Fancais d'Hiver. winter version, same spelling situation."HG"β+0000, Heure de Greenwich. zero, French."HKT"β+08:00, Hong Kong Time. eight ahead, everyone's favorite business-hours zone."HL"βlocal, Heure locale. offset isn't a number, it's literallylocalβ flag it, don't guess π©"HMT"β+05:00, Heard and McDonald Islands Time. two islands, one abbreviation."HNA"β-0400, Heure Normale de l'Atlantique. the "Normale" half of the French set begins."HNC"β-0600, Heure Normale du Centre. six behind."HNE"β-0500, Heure Normale de l'Est. five behind."HNP"β-0800, Heure Normale du Pacifique. eight behind."HNR"β-0700, Heure Normale des Rocheuses. seven behind."HNT"β-0330, Heure Normale de Terre-Neuve. minus three thirty, no colon."HNY"β-0900, Heure Normale du Yukon. nine behind."HOE"β+0100, Spain Time. the name says Spain, the letters say HOE, and we simply accept that π"HOVST"β+08:00, Hovd Summer Time (not used from 2017-present). important caveat β this one is marked as not used from 2017-present, so don't go relying on it π"HOVT"β+07:00, Hovd Time. the year-round sibling."HST"β-10:00, HawaiiβAleutian Standard Time. en dash included, ten behind."I"β+0900, India Military Time Zone. India, present."ICT"β+07:00, Indochina Time. seven ahead."IDLE"β+1200, Internation Date Line East. spelled "Internation" in the source. leave it. it's part of the lore now π"IDLW"β-12:00, International Day Line West time zone. this one gets the full "International" and "time zone" at the end. both spellings coexist, bestie."IDT"β+03:00, Israel Daylight Time. daylight, three ahead."IOT"β+03:00, Indian Ocean Time. also three ahead, different ocean."IRDT"β+04:30, Iran Daylight Time. the half-hour strikes again."IRKST"β+0900, Irkutsk Summer Time. no colon, summer."IRKT"β+08:00, Irkutsk Time. colon, non-summer."IRST"β+03:30, Iran Standard Time. minus-one-hour-from-daylight, with colon."IRT"β+0330, Iran Time. same offset as above but written colon-less. both are valid, both are here."IST"β+02:00, Israel Standard Time. and it is not India Standard Time and not Irish, so check your context π"IT"β+0330, Iran Time. two letters, same offset asIRT, different string entirely."ITA"β+0100, Italy Time. no colon, very Italian of it."JAVT"β+0700, Java Time. coffee time β"JAYT"β+0900, Jayapura Time (Indonesia). parenthetical country, appreciated."JST"β+09:00, Japan Standard Time. the one your anime schedule runs on πΈ"JT"β+0700, Java Time. short form of #157, same offset, separate entry."K"β+1000, Kilo Military Time Zone. Kilo."KALT"β+02:00, Kaliningrad Time. two ahead."KDT"β+1000, Korean Daylight Time. ten ahead, no colon."KGST"β+0600, Kyrgyzstan Summer Time. six ahead, summer, colon-free."KGT"β+06:00, Kyrgyzstan Time. colon'd and ready."KOST"β+11:00, Kosrae Time. eleven ahead."KRAST"β+0800, Krasnoyarsk Summer Time. one of like four K's in a row here, keep going."KRAT"β+07:00, Krasnoyarsk Time. the standard one."KST"β+09:00, Korea Standard Time. nine ahead."L"β+1100, Lima Military Time Zone. Lima."LHDT"β+1100, Lord Howe Daylight Time. eleven, no colon."LHST"β+11:00, Lord Howe Summer Time. heads up: the name says Summer, the offset has a colon. that's just how it is π"LIGT"β+1000, Melbourne, Australia. yes, the description is literally a city and a country, no "Time" at all. chaotic, love it π"LINT"β+14:00, Line Islands Time. +14. the far edge of the map, queen of the future π"LKT"β+0600, Lanka Time. six ahead, no colon."LST"βlocal, Local Sidereal Time. offset islocal, not a number β do not do math on this one π©"LT"βlocal, Local Time. alsolocal. also no math."M"β+1200, Mike Military Time Zone. Mike, halfway through the alphabet zones."MAGST"β+1200, Magadan Summer Time. twelve, no colon."MAGT"β+12:00, Magadan Time. twelve, with colon."MAL"β+0800, Malaysia Time. eight ahead."MART"β-09:30, Marquesas Islands Time. minus nine thirty, gorgeous and inconvenient."MAT"β+0300, Turkish Standard Time. note the name says Turkish, abbreviation says MAT. both preserved, no merging π"MAWT"β+05:00, Mawson Station Time. station time, five ahead."MDT"β-06:00, Mountain Daylight Time (North America). continent tag included, as ever."MED"β+0200, Middle European Daylight. no colon, no S, very 2003 of it."MEDST"β+0200, Middle European Summer. same offset as MED, extra letters, separate line."MEST"β+02:00, Middle European Summer Time. now with a colon and the full "Time." glow-up β¨"MESZ"β+0200, Mitteieuropaische Sommerzeit. spelled "Mitteieuropaische" in the source β that's an original quirk, hands off π«Ά"MET"β+01:00, Middle European Time. one ahead."MEWT"β+0100, Middle European Winter Time. the winter one, colon-less."MEX"β-0600, Mexico Time. six behind."MEZ"β+0100, Mitteieuropaische Zeit. same "Mitteieuropaische" spelling as #189. consistency through chaos."MHT"β+12:00, Marshall Islands Time. twelve ahead."MIST"β+11:00, Macquarie Island Station Time. singular Island, station included."MIT"β-09:30, Marquesas Islands Time. same name and offset asMARTup at #182, different abbreviation. both stay."MMT"β+06:30, Myanmar Standard Time. half past six, no notes."MPT"β+1000, North Mariana Islands Time. ten ahead."MSD"β+0400, Moscow Summer Time. four ahead, summer, no colon."MSK"β+03:00, Moscow Time. the standard one, colon'd."MSKS"β+0400, Moscow Summer Time. yes, another Moscow Summer Time with a different abbreviation. #199 and #201 are both on the list. don't question it, just copy it π"MST"β-07:00, Mountain Standard Time. seven behind."MT"β+0830, Moluccas. no colon, and the description is one word. minimalism π"MUT"β+04:00, Mauritius Time. four ahead."MVT"β+05:00, Maldives Time. five ahead."MYT"β+08:00, Malaysia Time. same name and offset asMALat #181. different string. both legit."N"β-0100, November Military Time Zone. first negative one, love that for her."NCT"β+11:00, New Caledonia Time. eleven ahead."NDT"β-02:30, Newfoundland Daylight Time. minus two thirty, the classic half-hour."NFT"β+11:00, Norfolk Island Time. eleven, singular island."NOR"β+0100, Norway Time. one ahead, three letters."NOVST"β+0700, Novosibirsk Summer Time (Russia). parenthetical country check βοΈ"NOVT"β+07:00, Novosibirsk Time. seven ahead."NPT"β+05:45, Nepal Time. five forty-five. forty-five minutes off the hour, absolutely legendary π"NRT"β+1200, Nauru Time. twelve, no colon."NST"β-03:30, Newfoundland Standard Time. minus three thirty, standard edition."NSUT"β+0630, North Sumatra Time. six thirty, no colon."NT"β-03:30, Newfoundland Time. two letters, same offset asNST, own whole line."NUT"β-11:00, Niue Time. eleven behind."NZDT"β+13:00, New Zealand Daylight Time. thirteen ahead, daylight."NZST"β+12:00, New Zealand Standard Time. twelve, standard."NZT"β+1200, New Zealand Standard Time. same name as #221, colon-less abbreviation, separate entry. yes really."O"β-0200, Oscar Military Time Zone. Oscar."OESZ"β+0300, Osteuropaeische Sommerzeit. theaespelling is the original's, not a typo we made up π«‘"OEZ"β+0200, Osteuropaische Zeit. note: this one's gotainotae. different string, different line, keep both."OMSST"β+0700, Omsk Summer Time. seven ahead, summer, no colon."OMST"β+06:00, Omsk Time. oh wait β the standard version is +06, one less than the summer one. that's what the list says, so that's what you get β¨"ORAT"β+05:00, Oral Time. five ahead."OZ"βlocal, Ortszeit. offset islocal, not a number. treat accordingly π©"P"β-0300, Papa Military Time Zone. Papa."PDT"β-07:00, Pacific Daylight Time (North America). continent tag, daylight, seven behind."PET"β-05:00, Peru Time. five behind."PETST"β+1300, Kamchatka Summer Time. name says Kamchatka, abbreviation says PETST β that's the source, leave it π"PETT"β+12:00, Kamchatka Time. twelve ahead."PGT"β+10:00, Papua New Guinea Time. ten ahead."PHOT"β+13:00, Phoenix Island Time. thirteen ahead."PHST"β+08:00, Philippine Standard Time. eight ahead."PHT"β+08:00, Philippine Time. same offset, shorter abbreviation, own entry."PKT"β+05:00, Pakistan Standard Time. five ahead."PMDT"β-02:00, Saint Pierre and Miquelon Daylight Time. two behind."PMST"β-03:00, Saint Pierre and Miquelon Standard Time. three behind."PMT"β-0300, Pierre & Miquelon Standard Time. note this one drops the "Saint" and uses an ampersand. not a typo, it's the source π"PNT"β-0830, Pitcairn Time. minus eight thirty, colon-less."PONT"β+11:00, Pohnpei Standard Time. eleven ahead."PST"β-08:00, Pacific Standard Time (North America). the big one, continent tag included."PWT"β+09:00, Palau Time. nine ahead."PYST"β-03:00, Paraguay Summer Time. three behind, summer."PYT"β-04:00, Paraguay Time. four behind, standard. and that's where this chunk of the list lands π
249. "Q" β -0400 (Quebec Military Time Zone) 250. "R" β -0500 (Romeo Military Time Zone) 251. "R1T" β +0200 (Russia Zone 1) 252. "R2T" β +0300 (Russia Zone 2) 253. "RET" β +04:00 (RΓ©union Time) 254. "ROK" β +0900 (Korean Standard Time) 255. "ROTT" β -03:00 (Rothera Research Station Time) 256. "S" β -0600 (Sierra Military Time Zone) 257. "SADT" β +1030 (Australian South Daylight Time) 258. "SAKT" β +11:00 (Sakhalin Island Time) 259. "SAMT" β +04:00 (Samara Time) 260. "SAST" β +02:00 (South African Standard Time) 261. "SBT" β +11:00 (Solomon Islands Time) 262. "SCT" β +04:00 (Seychelles Time) 263. "SDT" β -10:00 (Samoa Daylight Time) 264. "SET" β +0100 (Prague, Vienna Time) 265. "SGT" β +08:00 (Singapore Time) 266. "SLST" β +05:30 (Sri Lanka Standard Time) 267. "SRET" β +11:00 (Srednekolymsk Time) 268. "SRT" β -03:00 (Suriname Time) 269. "SST" β +08:00 (Singapore Standard Time) 270. "SWT" β +0100 (Swedish Winter) 271. "SYOT" β +03:00 (Showa Station Time) 272. "T" β -0700 (Tango Military Time Zone) 273. "TAHT" β -10:00 (Tahiti Time) 274. "TFT" β +05:00 (French Southern and Antarctic Time) 275. "THA" β +07:00 (Thailand Standard Time) 276. "THAT" β -1000 (Tahiti Time) 277. "TJT" β +05:00 (Tajikistan Time) 278. "TKT" β +13:00 (Tokelau Time) 279. "TLT" β +09:00 (Timor Leste Time) 280. "TMT" β +05:00 (Turkmenistan Time) 281. "TOT" β +13:00 (Tonga Time) 282. "TRT" β +03:00 (Turkey Time) 283. "TRUT" β +1000 (Truk Time) 284. "TST" β +0300 (Turkish Standard Time) 285. "TUC " β +0000 (Temps Universel CoordonnΓ©) 286. "TVT" β +12:00 (Tuvalu Time) 287. "U" β -0800 (Uniform Military Time Zone) 288. "ULAST" β +09:00 (Ulaanbaatar Summer Time) 289. "ULAT" β +08:00 (Ulaanbaatar Standard Time) 290. "USZ1" β +0200 (Russia Zone 1) 291. "USZ1S" β +0300 (Kaliningrad Summer Time (Russia)) 292. "USZ3" β +0400 (Volga Time (Russia)) 293. "USZ3S" β +0500 (Volga Summer Time (Russia)) 294. "USZ4" β +0500 (Ural Time (Russia)) 295. "USZ4S" β +0600 (Ural Summer Time (Russia)) 296. "USZ5" β +0600 (West-Siberian Time (Russia)) 297. "USZ5S" β +0700 (West-Siberian Summer Time) 298. "USZ6" β +0700 (Yenisei Time (Russia)) 299. "USZ6S" β +0800 (Yenisei Summer Time (Russia)) 300. "USZ7" β +0800 (Irkutsk Time (Russia)) 301. "USZ7S" β +0900 (Irkutsk Summer Time) 302. "USZ8" β +0900 (Amur Time (Russia)) 303. "USZ8S" β +1000 (Amur Summer Time (Russia)) 304. "USZ9" β +1000 (Vladivostok Time (Russia)) 305. "USZ9S" β +1100 (Vladivostok Summer Time (Russia)) 306. "UTC" β UTC (Coordinated Universal Time) 307. "UTZ" β -0300 (Greenland Western Standard Time) 308. "UYST" β -02:00 (Uruguay Summer Time) 309. "UYT" β -03:00 (Uruguay Standard Time) 310. "UZ10" β +1100 (Okhotsk Time (Russia)) 311. "UZ10S" β +1200 (Okhotsk Summer Time (Russia)) 312. "UZ11" β +1200 (Kamchatka Time (Russia)) 313. "UZ11S" β +1300 (Kamchatka Summer Time (Russia)) 314. "UZ12" β +1200 (Chukot Time (Russia)) 315. "UZ12S" β +1300 (Chukot Summer Time (Russia)) 316. "UZT" β +05:00 (Uzbekistan Time) 317. "V" β -0900 (Victor Military Time Zone) 318. "VET" β -04:00 (Venezuelan Standard Time) 319. "VLAST" β +1100 (Vladivostok Summer Time) 320. "VLAT" β +10:00 (Vladivostok Time) 321. "VOLT" β +03:00 (Volgograd Time) 322. "VOST" β +06:00 (Vostok Station Time) 323. "VTZ" β -0200 (Greenland Eastern Standard Time) 324. "VUT" β +11:00 (Vanuatu Time) 325. "W" β -1000 (Whiskey Military Time Zone) 326. "WAKT" β +12:00 (Wake Island Time) 327. "WAST" β +02:00 (West Africa Summer Time) 328. "WAT" β +01:00 (West Africa Time) 329. "WEST" β +01:00 (Western European Summer Time) 330. "WESZ" β +0100 (Westeuropaische Sommerzeit) 331. "WET" β UTC (Western European Time) 332. "WETDST" β +0100 (European Western Summer) 333. "WEZ" β +0000 (Western Europe Time) 334. "WFT" β +1200 (Wallis and Futuna Time) 335. "WGST" β -02:00 (West Greenland Summer Time) 336. "WGT" β -03:00 (West Greenland Time) 337. "WIB" β +07:00 (Western Indonesian Time) 338. "WIT" β +09:00 (Eastern Indonesian Time) 339. "WITA" β +08:00 (Central Indonesia Time) 340. "WST" β +08:00 (Western Standard Time) 341. "WTZ" β -0100 (Greenland Eastern Daylight Time) 342. "WUT" β +0100 (Austria Time) 343. "X" β -1100 (X-ray Military Time Zone) 344. "Y" β -1200 (Yankee Military Time Zone) 345. "YAKST" β +1000 (Yakutsk Summer Time) 346. "YAKT" β +09:00 (Yakutsk Time) 347. "YAPT" β +1000 (Yap Time (Micronesia)) 348. "YDT" β -0800 (Yukon Daylight Time) 349. "YEKST" β +0600 (Yekaterinburg Summer Time) 350. "YEKT" β +05:00 (Yekaterinburg Time) 351. "YST" β -0900 (Yukon Standard Time) 352. "Z" β +0000 (Zulu)
Okay bestie, that's the whole catalog right there β alphabetics done, Zulu secured, we ate π
β¨ (and yes there's one entry whose abbreviation literally has a trailing space in it: "TUC ". That's not a typo on my end, she's just built that way π«Ά)
π METHODS π
π aliases
Hands you back an array reference of all the time zone aliases. That's the whole vibe.
my $aliases = DateTime::TimeZone::Catalog::Extend->aliases;
And if you're the kind of icon who likes to go straight to the source, you can pull the exact same thing out of the package variable $ALIAS_CATALOG:
my $aliases = [sort( keys( %$DateTime::TimeZone::Catalog::Extend::ALIAS_CATALOG ) )];
π¦ zone_map
Returns a hash reference mapping each time zone alias to its offset. Heads up: this class function caches that hash reference, so the second call just hands you the cached value again β no re-computing, we love an efficient queen β¨
The returned hash reference is suitable to be passed to "new" in DateTime::Format::Strptime with the argument "zone_map":
my $str = 'Fri Mar 25 2011 12:16:25 ADT';
my $map = DateTime::TimeZone::Catalog::Extend->zone_map;
my $fmt = DateTime::Format::Strptime->new(
pattern => $pattern,
zone_map => $map,
);
my $dt = $fmt->parse_datetime( $str );
die( $fmt->errmsg ) if( !defined( $dt ) );
Lowkey important: without passing that"zone_map",DateTime::Format::Strptimewould have handed you back the errorc<The time zone abbreviation that was parsed is ambiguous>β and nobody wants that kind of negativity in their parser π
π AUTHOR π
Jacques Deguest <jack@deguest.jp> β the main character who made all of this happen π«Ά
π SEE ALSO π
DateTime::TimeZone::CatalogDateTime::TimeZone::AliasDateTime::TimeZone
π COPYRIGHT & LICENSE π
Copyright(c) 2022 DEGUEST Pte. Ltd.
All rights reserved
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Okay that's the whole page, bestie β that's DateTim...::Extend(3), perl v5.42.2, dated 2026-02-15 πβ¨ Go forth and have the most correctly-zoned day of your life, no cap π¦π
π¦ where this page comes from
- alpine 3.24: perl-datetime-timezone-catalog-extend-doc 0.3.3-r1 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms