File Coverage

lib/DateTime/TimeZone/Catalog/Extend.pm
Criterion Covered Total %
statement 64 140 45.7
branch 13 128 10.1
condition 6 40 15.0
subroutine 14 16 87.5
pod 1 1 100.0
total 98 325 30.1


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Extend DateTime::TimeZone catalog - ~/lib/DateTime/TimeZone/Catalog/Extend.pm
3             ## Version v0.2.0
4             ## Copyright(c) 2022 DEGUEST Pte. Ltd.
5             ## Author: Jacques Deguest <jack@deguest.jp>
6             ## Created 2022/11/29
7             ## Modified 2022/12/01
8             ## All rights reserved
9             ##
10             ##
11             ## This program is free software; you can redistribute it and/or modify it
12             ## under the same terms as Perl itself.
13             ##----------------------------------------------------------------------------
14             package DateTime::TimeZone::Catalog::Extend;
15             BEGIN
16             {
17 1     1   489756 use strict;
  1         3  
  1         38  
18 1     1   5 use warnings;
  1         2  
  1         33  
19 1     1   6 use warnings::register;
  1         2  
  1         125  
20 1     1   6 use Exporter ();
  1         5  
  1         19  
21 1     1   5 use vars qw( $VERSION @ISA $ALIAS_CATALOG );
  1         3  
  1         89  
22 1     1   797894 our @ISA = qw( Exporter );
23 1     1   502 use DateTime::TimeZone::Alias;
  1         1085  
  1         7  
24 1     1   36 use Nice::Try;
  1         2  
  1         12  
25 1         39 our $VERSION = 'v0.2.0';
26             };
27              
28 1     1   12 use strict;
  1         11  
  1         26  
29 1     1   5 use warnings;
  1         6  
  1         2220  
30              
31             # <https://en.wikipedia.org/wiki/List_of_time_zone_abbreviations>
32             $ALIAS_CATALOG =
33             {
34             ACDT => {
35             comment => "Australian Central Daylight Saving Time",
36             offset => ["+10:30"],
37             },
38             ACST => { comment => "Australian Central Standard Time", offset => ["+09:30"] },
39             ACT => { comment => "ASEAN Common Time (proposed)", offset => ["+08:00"] },
40             ACWST => {
41             comment => "Australian Central Western Standard Time (unofficial)",
42             offset => ["+08:45"],
43             },
44             ADT => { comment => "Atlantic Daylight Time", offset => ["-03:00"] },
45             AEDT => {
46             comment => "Australian Eastern Daylight Saving Time",
47             offset => ["+11:00"],
48             },
49             AEST => { comment => "Australian Eastern Standard Time", offset => ["+10:00"] },
50             AET => {
51             comment => "Australian Eastern Time",
52             offset => ["+10:00", "+11:00"],
53             },
54             AFT => { comment => "Afghanistan Time", offset => ["+04:30"] },
55             AKDT => { comment => "Alaska Daylight Time", offset => ["-08:00"] },
56             AKST => { comment => "Alaska Standard Time", offset => ["-09:00"] },
57             ALMT => { comment => "Alma-Ata Time[1]", offset => ["+06:00"] },
58             AMST => { comment => "Amazon Summer Time (Brazil)[2]", offset => ["-03:00"] },
59             AMT => { comment => "Armenia Time", offset => ["+04:00"] },
60             ANAT => { comment => "Anadyr Time[4]", offset => ["+12:00"] },
61             AQTT => { comment => "Aqtobe Time[5]", offset => ["+05:00"] },
62             ART => { comment => "Argentina Time", offset => ["-03:00"] },
63             AST => { comment => "Atlantic Standard Time", offset => ["-04:00"] },
64             AWST => { comment => "Australian Western Standard Time", offset => ["+08:00"] },
65             AZOST => { comment => "Azores Summer Time", offset => ["UTC"] },
66             AZOT => { comment => "Azores Standard Time", offset => ["-01:00"] },
67             AZT => { comment => "Azerbaijan Time", offset => ["+04:00"] },
68             BIOT => { comment => "British Indian Ocean Time", offset => ["+06:00"] },
69             BIT => { comment => "Baker Island Time", offset => ["-12:00"] },
70             BNT => { comment => "Brunei Time", offset => ["+08:00"] },
71             BOT => { comment => "Bolivia Time", offset => ["-04:00"] },
72             BRST => { comment => "Bras\xEDlia Summer Time", offset => ["-02:00"] },
73             BRT => { comment => "Bras\xEDlia Time", offset => ["-03:00"] },
74             BST => {
75             comment => "British Summer Time (British Standard Time from Feb 1968 to Oct 1971)",
76             offset => ["+01:00"],
77             },
78             BTT => { comment => "Bhutan Time", offset => ["+06:00"] },
79             CAT => { comment => "Central Africa Time", offset => ["+02:00"] },
80             CCT => { comment => "Cocos Islands Time", offset => ["+06:30"] },
81             CDT => { comment => "Cuba Daylight Time[7]", offset => ["-04:00"] },
82             CEST => { comment => "Central European Summer Time", offset => ["+02:00"] },
83             CET => { comment => "Central European Time", offset => ["+01:00"] },
84             CHADT => { comment => "Chatham Daylight Time", offset => ["+13:45"] },
85             CHAST => { comment => "Chatham Standard Time", offset => ["+12:45"] },
86             CHOST => { comment => "Choibalsan Summer Time", offset => ["+09:00"] },
87             CHOT => { comment => "Choibalsan Standard Time", offset => ["+08:00"] },
88             CHST => { comment => "Chamorro Standard Time", offset => ["+10:00"] },
89             CHUT => { comment => "Chuuk Time", offset => ["+10:00"] },
90             CIST => { comment => "Clipperton Island Standard Time", offset => ["-08:00"] },
91             CKT => { comment => "Cook Island Time", offset => ["-10:00"] },
92             CLST => { comment => "Chile Summer Time", offset => ["-03:00"] },
93             CLT => { comment => "Chile Standard Time", offset => ["-04:00"] },
94             COST => { comment => "Colombia Summer Time", offset => ["-04:00"] },
95             COT => { comment => "Colombia Time", offset => ["-05:00"] },
96             CST => { comment => "Cuba Standard Time", offset => ["-05:00"] },
97             CT => { comment => "Central Time", offset => ["-06:00", "-05:00"] },
98             CVT => { comment => "Cape Verde Time", offset => ["-01:00"] },
99             CWST => {
100             comment => "Central Western Standard Time (Australia) unofficial",
101             offset => ["+08:45"],
102             },
103             CXT => { comment => "Christmas Island Time", offset => ["+07:00"] },
104             DAVT => { comment => "Davis Time", offset => ["+07:00"] },
105             DDUT => { comment => "Dumont d'Urville Time", offset => ["+10:00"] },
106             DFT => {
107             comment => "AIX-specific equivalent of Central European Time[NB 1]",
108             offset => ["+01:00"],
109             },
110             EASST => { comment => "Easter Island Summer Time", offset => ["-05:00"] },
111             EAST => { comment => "Easter Island Standard Time", offset => ["-06:00"] },
112             EAT => { comment => "East Africa Time", offset => ["+03:00"] },
113             ECT => { comment => "Ecuador Time", offset => ["-05:00"] },
114             EDT => {
115             comment => "Eastern Daylight Time (North America)",
116             offset => ["-04:00"],
117             },
118             EEST => { comment => "Eastern European Summer Time", offset => ["+03:00"] },
119             EET => { comment => "Eastern European Time", offset => ["+02:00"] },
120             EGST => { comment => "Eastern Greenland Summer Time", offset => ["UTC"] },
121             EGT => { comment => "Eastern Greenland Time", offset => ["-01:00"] },
122             EST => {
123             comment => "Eastern Standard Time (North America)",
124             offset => ["-05:00"],
125             },
126             ET => {
127             comment => "Eastern Time (North America) UTC-05 /",
128             offset => ["-04:00"],
129             },
130             FET => { comment => "Further-eastern European Time", offset => ["+03:00"] },
131             FJT => { comment => "Fiji Time", offset => ["+12:00"] },
132             FKST => { comment => "Falkland Islands Summer Time", offset => ["-03:00"] },
133             FKT => { comment => "Falkland Islands Time", offset => ["-04:00"] },
134             FNT => { comment => "Fernando de Noronha Time", offset => ["-02:00"] },
135             GALT => { comment => "Gal\xE1pagos Time", offset => ["-06:00"] },
136             GAMT => { comment => "Gambier Islands Time", offset => ["-09:00"] },
137             GET => { comment => "Georgia Standard Time", offset => ["+04:00"] },
138             GFT => { comment => "French Guiana Time", offset => ["-03:00"] },
139             GILT => { comment => "Gilbert Island Time", offset => ["+12:00"] },
140             GIT => { comment => "Gambier Island Time", offset => ["-09:00"] },
141             GMT => { comment => "Greenwich Mean Time", offset => ["UTC"] },
142             GST => { comment => "Gulf Standard Time", offset => ["+04:00"] },
143             GYT => { comment => "Guyana Time", offset => ["-04:00"] },
144             HAEC => {
145             comment => "Heure Avanc\xE9e d'Europe Centrale French-language name for CEST",
146             offset => ["+02:00"],
147             },
148             HDT => {
149             comment => "Hawaii\x{2013}Aleutian Daylight Time",
150             offset => ["-09:00"],
151             },
152             HKT => { comment => "Hong Kong Time", offset => ["+08:00"] },
153             HMT => { comment => "Heard and McDonald Islands Time", offset => ["+05:00"] },
154             HOVST => {
155             comment => "Hovd Summer Time (not used from 2017-present)",
156             offset => ["+08:00"],
157             },
158             HOVT => { comment => "Hovd Time", offset => ["+07:00"] },
159             HST => {
160             comment => "Hawaii\x{2013}Aleutian Standard Time",
161             offset => ["-10:00"],
162             },
163             ICT => { comment => "Indochina Time", offset => ["+07:00"] },
164             IDLW => {
165             comment => "International Day Line West time zone",
166             offset => ["-12:00"],
167             },
168             IDT => { comment => "Israel Daylight Time", offset => ["+03:00"] },
169             IOT => { comment => "Indian Ocean Time", offset => ["+03:00"] },
170             IRDT => { comment => "Iran Daylight Time", offset => ["+04:30"] },
171             IRKT => { comment => "Irkutsk Time", offset => ["+08:00"] },
172             IRST => { comment => "Iran Standard Time", offset => ["+03:30"] },
173             IST => { comment => "Israel Standard Time", offset => ["+02:00"] },
174             JST => { comment => "Japan Standard Time", offset => ["+09:00"] },
175             KALT => { comment => "Kaliningrad Time", offset => ["+02:00"] },
176             KGT => { comment => "Kyrgyzstan Time", offset => ["+06:00"] },
177             KOST => { comment => "Kosrae Time", offset => ["+11:00"] },
178             KRAT => { comment => "Krasnoyarsk Time", offset => ["+07:00"] },
179             KST => { comment => "Korea Standard Time", offset => ["+09:00"] },
180             LHST => { comment => "Lord Howe Summer Time", offset => ["+11:00"] },
181             LINT => { comment => "Line Islands Time", offset => ["+14:00"] },
182             MAGT => { comment => "Magadan Time", offset => ["+12:00"] },
183             MART => { comment => "Marquesas Islands Time", offset => ["-09:30"] },
184             MAWT => { comment => "Mawson Station Time", offset => ["+05:00"] },
185             MDT => {
186             comment => "Mountain Daylight Time (North America)",
187             offset => ["-06:00"],
188             },
189             MEST => {
190             comment => "Middle European Summer Time (same zone as CEST)",
191             offset => ["+02:00"],
192             },
193             MET => {
194             comment => "Middle European Time (same zone as CET)",
195             offset => ["+01:00"],
196             },
197             MHT => { comment => "Marshall Islands Time", offset => ["+12:00"] },
198             MIST => { comment => "Macquarie Island Station Time", offset => ["+11:00"] },
199             MIT => { comment => "Marquesas Islands Time", offset => ["-09:30"] },
200             MMT => { comment => "Myanmar Standard Time", offset => ["+06:30"] },
201             MSK => { comment => "Moscow Time", offset => ["+03:00"] },
202             MST => {
203             comment => "Mountain Standard Time (North America)",
204             offset => ["-07:00"],
205             },
206             MUT => { comment => "Mauritius Time", offset => ["+04:00"] },
207             MVT => { comment => "Maldives Time", offset => ["+05:00"] },
208             MYT => { comment => "Malaysia Time", offset => ["+08:00"] },
209             NCT => { comment => "New Caledonia Time", offset => ["+11:00"] },
210             NDT => { comment => "Newfoundland Daylight Time", offset => ["-02:30"] },
211             NFT => { comment => "Norfolk Island Time", offset => ["+11:00"] },
212             NOVT => { comment => "Novosibirsk Time [9]", offset => ["+07:00"] },
213             NPT => { comment => "Nepal Time", offset => ["+05:45"] },
214             NST => { comment => "Newfoundland Standard Time", offset => ["-03:30"] },
215             NT => { comment => "Newfoundland Time", offset => ["-03:30"] },
216             NUT => { comment => "Niue Time", offset => ["-11:00"] },
217             NZDT => { comment => "New Zealand Daylight Time", offset => ["+13:00"] },
218             NZST => { comment => "New Zealand Standard Time", offset => ["+12:00"] },
219             OMST => { comment => "Omsk Time", offset => ["+06:00"] },
220             ORAT => { comment => "Oral Time", offset => ["+05:00"] },
221             PDT => {
222             comment => "Pacific Daylight Time (North America)",
223             offset => ["-07:00"],
224             },
225             PET => { comment => "Peru Time", offset => ["-05:00"] },
226             PETT => { comment => "Kamchatka Time", offset => ["+12:00"] },
227             PGT => { comment => "Papua New Guinea Time", offset => ["+10:00"] },
228             PHOT => { comment => "Phoenix Island Time", offset => ["+13:00"] },
229             PHST => { comment => "Philippine Standard Time", offset => ["+08:00"] },
230             PHT => { comment => "Philippine Time", offset => ["+08:00"] },
231             PKT => { comment => "Pakistan Standard Time", offset => ["+05:00"] },
232             PMDT => {
233             comment => "Saint Pierre and Miquelon Daylight Time",
234             offset => ["-02:00"],
235             },
236             PMST => {
237             comment => "Saint Pierre and Miquelon Standard Time",
238             offset => ["-03:00"],
239             },
240             PONT => { comment => "Pohnpei Standard Time", offset => ["+11:00"] },
241             PST => {
242             comment => "Pacific Standard Time (North America)",
243             offset => ["-08:00"],
244             },
245             PWT => { comment => "Palau Time[10]", offset => ["+09:00"] },
246             PYST => { comment => "Paraguay Summer Time[11]", offset => ["-03:00"] },
247             PYT => { comment => "Paraguay Time[12]", offset => ["-04:00"] },
248             RET => { comment => "R\xE9union Time", offset => ["+04:00"] },
249             ROTT => { comment => "Rothera Research Station Time", offset => ["-03:00"] },
250             SAKT => { comment => "Sakhalin Island Time", offset => ["+11:00"] },
251             SAMT => { comment => "Samara Time", offset => ["+04:00"] },
252             SAST => { comment => "South African Standard Time", offset => ["+02:00"] },
253             SBT => { comment => "Solomon Islands Time", offset => ["+11:00"] },
254             SCT => { comment => "Seychelles Time", offset => ["+04:00"] },
255             SDT => { comment => "Samoa Daylight Time", offset => ["-10:00"] },
256             SGT => { comment => "Singapore Time", offset => ["+08:00"] },
257             SLST => { comment => "Sri Lanka Standard Time", offset => ["+05:30"] },
258             SRET => { comment => "Srednekolymsk Time", offset => ["+11:00"] },
259             SRT => { comment => "Suriname Time", offset => ["-03:00"] },
260             SST => { comment => "Singapore Standard Time", offset => ["+08:00"] },
261             SYOT => { comment => "Showa Station Time", offset => ["+03:00"] },
262             TAHT => { comment => "Tahiti Time", offset => ["-10:00"] },
263             TFT => {
264             comment => "French Southern and Antarctic Time[13]",
265             offset => ["+05:00"],
266             },
267             THA => { comment => "Thailand Standard Time", offset => ["+07:00"] },
268             TJT => { comment => "Tajikistan Time", offset => ["+05:00"] },
269             TKT => { comment => "Tokelau Time", offset => ["+13:00"] },
270             TLT => { comment => "Timor Leste Time", offset => ["+09:00"] },
271             TMT => { comment => "Turkmenistan Time", offset => ["+05:00"] },
272             TOT => { comment => "Tonga Time", offset => ["+13:00"] },
273             TRT => { comment => "Turkey Time", offset => ["+03:00"] },
274             TVT => { comment => "Tuvalu Time", offset => ["+12:00"] },
275             ULAST => { comment => "Ulaanbaatar Summer Time", offset => ["+09:00"] },
276             ULAT => { comment => "Ulaanbaatar Standard Time", offset => ["+08:00"] },
277             UTC => { comment => "Coordinated Universal Time", offset => ["UTC"] },
278             UYST => { comment => "Uruguay Summer Time", offset => ["-02:00"] },
279             UYT => { comment => "Uruguay Standard Time", offset => ["-03:00"] },
280             UZT => { comment => "Uzbekistan Time", offset => ["+05:00"] },
281             VET => { comment => "Venezuelan Standard Time", offset => ["-04:00"] },
282             VLAT => { comment => "Vladivostok Time", offset => ["+10:00"] },
283             VOLT => { comment => "Volgograd Time", offset => ["+03:00"] },
284             VOST => { comment => "Vostok Station Time", offset => ["+06:00"] },
285             VUT => { comment => "Vanuatu Time", offset => ["+11:00"] },
286             WAKT => { comment => "Wake Island Time", offset => ["+12:00"] },
287             WAST => { comment => "West Africa Summer Time", offset => ["+02:00"] },
288             WAT => { comment => "West Africa Time", offset => ["+01:00"] },
289             WEST => { comment => "Western European Summer Time", offset => ["+01:00"] },
290             WET => { comment => "Western European Time", offset => ["UTC"] },
291             WGST => { comment => "West Greenland Summer Time[14]", offset => ["-02:00"] },
292             WGT => { comment => "West Greenland Time[15]", offset => ["-03:00"] },
293             WIB => { comment => "Western Indonesian Time", offset => ["+07:00"] },
294             WIT => { comment => "Eastern Indonesian Time", offset => ["+09:00"] },
295             WITA => { comment => "Central Indonesia Time", offset => ["+08:00"] },
296             WST => { comment => "Western Standard Time", offset => ["+08:00"] },
297             YAKT => { comment => "Yakutsk Time", offset => ["+09:00"] },
298             YEKT => { comment => "Yekaterinburg Time", offset => ["+05:00"] },
299             };
300              
301             sub import
302             {
303 1     1   17 my $class = shift( @_ );
304 1         35 foreach my $alias ( keys( %$ALIAS_CATALOG ) )
305             {
306 193 100       1990 next if( DateTime::TimeZone::Alias->is_defined( $alias ) );
307 184 50 33     32424 try
  184         209  
  184         214  
  184         411  
  0         0  
  184         203  
  184         281  
  184         219  
308 184     184   190 {
309 184         693 DateTime::TimeZone::Alias->add( $alias => $ALIAS_CATALOG->{ $alias }->{offset}->[0] );
310             }
311 184 50 50 0   616 catch( $e )
  184 0 33     73570  
  0 0 0     0  
  184 0 33     253  
  184 0 33     366  
  0 0       0  
  0 0       0  
  0 0       0  
  184 0       357  
  0 0       0  
  0 0       0  
  184 0       200  
  184 0       236  
  184 0       244  
  184 0       382  
  0 50       0  
  0 50       0  
  0 50       0  
  0 50       0  
  0 50       0  
  0 50       0  
  0 0       0  
  0 50       0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  184         306  
  0         0  
  0         0  
  184         344  
  184         369  
  184         323  
  184         430  
  184         352  
  184         285  
  0         0  
  0         0  
  0         0  
  0         0  
312 0     0   0 {
313 0 0       0 warnings::warn( "Warning only: error trying to add time zone alias '$alias' (" . $ALIAS_CATALOG->{ $alias }->{comment} . ") with time zone offset '" . $ALIAS_CATALOG->{ $alias }->{offset}->[0] . "': $e\n" ) if( warnings::enabled() );
314 1 0 0 1   8 }
  1 0 0     2  
  1 0 0     276  
  0 0 33     0  
  0 0 0     0  
  0 0 0     0  
  0 0 0     0  
  0 0 0     0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  184 0       808  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 0       0  
  0 50       0  
  0 50       0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  184         285  
  0         0  
  0         0  
  0         0  
  0         0  
  184         473  
315             }
316             }
317              
318 1     1 1 522344 sub aliases { return( [sort(keys( %$ALIAS_CATALOG ) )] ); }
319              
320             1;
321             # NOTE: POD
322             __END__
323              
324             =encoding utf-8
325              
326             =head1 NAME
327              
328             DateTime::TimeZone::Catalog::Extend - Extend DateTime::TimeZone catalog
329              
330             =head1 SYNOPSIS
331              
332             use DateTime::TimeZone;
333             # After DateTime::TimeZone is loaded, let's extend it
334             use DateTime::TimeZone::Catalog::Extend;
335             # That's it; nothing more
336              
337             # This would normally trigger an exception, but not anymore
338             my $tz = DateTime::TimeZone->new( name => 'JST' );
339              
340             # Get the list of all aliases
341             my $aliases = DateTime::TimeZone::Catalog::Extend->aliases;
342              
343             =head1 VERSION
344              
345             v0.2.0
346              
347             =head1 DESCRIPTION
348              
349             This is a very simple module based on the L<list of time zone aliases|https://en.wikipedia.org/wiki/List_of_time_zone_abbreviations> that are sometimes found in dates.
350              
351             Upon using this module, it will add to the L<DateTime::TimeZone::Catalog> those aliases with their corresponding time zone offset. When there is more than one time zone offset in the list, only the first one is set.
352              
353             Here is the list of those time zone aliases and their offset:
354              
355             =over 4
356              
357             =item 1. C<ACDT> +10:30 (Australian Central Daylight Saving Time)
358              
359             =item 2. C<ACST> +09:30 (Australian Central Standard Time)
360              
361             =item 3. C<ACT> +08:00 (ASEAN Common Time (proposed))
362              
363             =item 4. C<ACWST> +08:45 (Australian Central Western Standard Time (unofficial))
364              
365             =item 5. C<ADT> -03:00 (Atlantic Daylight Time)
366              
367             =item 6. C<AEDT> +11:00 (Australian Eastern Daylight Saving Time)
368              
369             =item 7. C<AEST> +10:00 (Australian Eastern Standard Time)
370              
371             =item 8. C<AET> +10:00 (Australian Eastern Time)
372              
373             =item 9. C<AFT> +04:30 (Afghanistan Time)
374              
375             =item 10. C<AKDT> -08:00 (Alaska Daylight Time)
376              
377             =item 11. C<AKST> -09:00 (Alaska Standard Time)
378              
379             =item 12. C<ALMT> +06:00 (Alma-Ata Time[1])
380              
381             =item 13. C<AMST> -03:00 (Amazon Summer Time (Brazil)[2])
382              
383             =item 14. C<AMT> +04:00 (Armenia Time)
384              
385             =item 15. C<ANAT> +12:00 (Anadyr Time[4])
386              
387             =item 16. C<AQTT> +05:00 (Aqtobe Time[5])
388              
389             =item 17. C<ART> -03:00 (Argentina Time)
390              
391             =item 18. C<AST> -04:00 (Atlantic Standard Time)
392              
393             =item 19. C<AWST> +08:00 (Australian Western Standard Time)
394              
395             =item 20. C<AZOST> UTC (Azores Summer Time)
396              
397             =item 21. C<AZOT> -01:00 (Azores Standard Time)
398              
399             =item 22. C<AZT> +04:00 (Azerbaijan Time)
400              
401             =item 23. C<BIOT> +06:00 (British Indian Ocean Time)
402              
403             =item 24. C<BIT> -12:00 (Baker Island Time)
404              
405             =item 25. C<BNT> +08:00 (Brunei Time)
406              
407             =item 26. C<BOT> -04:00 (Bolivia Time)
408              
409             =item 27. C<BRST> -02:00 (Brasília Summer Time)
410              
411             =item 28. C<BRT> -03:00 (Brasília Time)
412              
413             =item 29. C<BST> +01:00 (British Summer Time (British Standard Time from Feb 1968 to Oct 1971))
414              
415             =item 30. C<BTT> +06:00 (Bhutan Time)
416              
417             =item 31. C<CAT> +02:00 (Central Africa Time)
418              
419             =item 32. C<CCT> +06:30 (Cocos Islands Time)
420              
421             =item 33. C<CDT> -04:00 (Cuba Daylight Time[7])
422              
423             =item 34. C<CEST> +02:00 (Central European Summer Time)
424              
425             =item 35. C<CET> +01:00 (Central European Time)
426              
427             =item 36. C<CHADT> +13:45 (Chatham Daylight Time)
428              
429             =item 37. C<CHAST> +12:45 (Chatham Standard Time)
430              
431             =item 38. C<CHOST> +09:00 (Choibalsan Summer Time)
432              
433             =item 39. C<CHOT> +08:00 (Choibalsan Standard Time)
434              
435             =item 40. C<CHST> +10:00 (Chamorro Standard Time)
436              
437             =item 41. C<CHUT> +10:00 (Chuuk Time)
438              
439             =item 42. C<CIST> -08:00 (Clipperton Island Standard Time)
440              
441             =item 43. C<CKT> -10:00 (Cook Island Time)
442              
443             =item 44. C<CLST> -03:00 (Chile Summer Time)
444              
445             =item 45. C<CLT> -04:00 (Chile Standard Time)
446              
447             =item 46. C<COST> -04:00 (Colombia Summer Time)
448              
449             =item 47. C<COT> -05:00 (Colombia Time)
450              
451             =item 48. C<CST> -05:00 (Cuba Standard Time)
452              
453             =item 49. C<CT> -06:00 (Central Time)
454              
455             =item 50. C<CVT> -01:00 (Cape Verde Time)
456              
457             =item 51. C<CWST> +08:45 (Central Western Standard Time (Australia) unofficial)
458              
459             =item 52. C<CXT> +07:00 (Christmas Island Time)
460              
461             =item 53. C<DAVT> +07:00 (Davis Time)
462              
463             =item 54. C<DDUT> +10:00 (Dumont d'Urville Time)
464              
465             =item 55. C<DFT> +01:00 (AIX-specific equivalent of Central European Time[NB 1])
466              
467             =item 56. C<EASST> -05:00 (Easter Island Summer Time)
468              
469             =item 57. C<EAST> -06:00 (Easter Island Standard Time)
470              
471             =item 58. C<EAT> +03:00 (East Africa Time)
472              
473             =item 59. C<ECT> -05:00 (Ecuador Time)
474              
475             =item 60. C<EDT> -04:00 (Eastern Daylight Time (North America))
476              
477             =item 61. C<EEST> +03:00 (Eastern European Summer Time)
478              
479             =item 62. C<EET> +02:00 (Eastern European Time)
480              
481             =item 63. C<EGST> UTC (Eastern Greenland Summer Time)
482              
483             =item 64. C<EGT> -01:00 (Eastern Greenland Time)
484              
485             =item 65. C<EST> -05:00 (Eastern Standard Time (North America))
486              
487             =item 66. C<ET> -04:00 (Eastern Time (North America) UTC-05 /)
488              
489             =item 67. C<FET> +03:00 (Further-eastern European Time)
490              
491             =item 68. C<FJT> +12:00 (Fiji Time)
492              
493             =item 69. C<FKST> -03:00 (Falkland Islands Summer Time)
494              
495             =item 70. C<FKT> -04:00 (Falkland Islands Time)
496              
497             =item 71. C<FNT> -02:00 (Fernando de Noronha Time)
498              
499             =item 72. C<GALT> -06:00 (Galápagos Time)
500              
501             =item 73. C<GAMT> -09:00 (Gambier Islands Time)
502              
503             =item 74. C<GET> +04:00 (Georgia Standard Time)
504              
505             =item 75. C<GFT> -03:00 (French Guiana Time)
506              
507             =item 76. C<GILT> +12:00 (Gilbert Island Time)
508              
509             =item 77. C<GIT> -09:00 (Gambier Island Time)
510              
511             =item 78. C<GMT> UTC (Greenwich Mean Time)
512              
513             =item 79. C<GST> +04:00 (Gulf Standard Time)
514              
515             =item 80. C<GYT> -04:00 (Guyana Time)
516              
517             =item 81. C<HAEC> +02:00 (Heure Avancée d'Europe Centrale French-language name for CEST)
518              
519             =item 82. C<HDT> -09:00 (Hawaii–Aleutian Daylight Time)
520              
521             =item 83. C<HKT> +08:00 (Hong Kong Time)
522              
523             =item 84. C<HMT> +05:00 (Heard and McDonald Islands Time)
524              
525             =item 85. C<HOVST> +08:00 (Hovd Summer Time (not used from 2017-present))
526              
527             =item 86. C<HOVT> +07:00 (Hovd Time)
528              
529             =item 87. C<HST> -10:00 (Hawaii–Aleutian Standard Time)
530              
531             =item 88. C<ICT> +07:00 (Indochina Time)
532              
533             =item 89. C<IDLW> -12:00 (International Day Line West time zone)
534              
535             =item 90. C<IDT> +03:00 (Israel Daylight Time)
536              
537             =item 91. C<IOT> +03:00 (Indian Ocean Time)
538              
539             =item 92. C<IRDT> +04:30 (Iran Daylight Time)
540              
541             =item 93. C<IRKT> +08:00 (Irkutsk Time)
542              
543             =item 94. C<IRST> +03:30 (Iran Standard Time)
544              
545             =item 95. C<IST> +02:00 (Israel Standard Time)
546              
547             =item 96. C<JST> +09:00 (Japan Standard Time)
548              
549             =item 97. C<KALT> +02:00 (Kaliningrad Time)
550              
551             =item 98. C<KGT> +06:00 (Kyrgyzstan Time)
552              
553             =item 99. C<KOST> +11:00 (Kosrae Time)
554              
555             =item 100. C<KRAT> +07:00 (Krasnoyarsk Time)
556              
557             =item 101. C<KST> +09:00 (Korea Standard Time)
558              
559             =item 102. C<LHST> +11:00 (Lord Howe Summer Time)
560              
561             =item 103. C<LINT> +14:00 (Line Islands Time)
562              
563             =item 104. C<MAGT> +12:00 (Magadan Time)
564              
565             =item 105. C<MART> -09:30 (Marquesas Islands Time)
566              
567             =item 106. C<MAWT> +05:00 (Mawson Station Time)
568              
569             =item 107. C<MDT> -06:00 (Mountain Daylight Time (North America))
570              
571             =item 108. C<MEST> +02:00 (Middle European Summer Time (same zone as CEST))
572              
573             =item 109. C<MET> +01:00 (Middle European Time (same zone as CET))
574              
575             =item 110. C<MHT> +12:00 (Marshall Islands Time)
576              
577             =item 111. C<MIST> +11:00 (Macquarie Island Station Time)
578              
579             =item 112. C<MIT> -09:30 (Marquesas Islands Time)
580              
581             =item 113. C<MMT> +06:30 (Myanmar Standard Time)
582              
583             =item 114. C<MSK> +03:00 (Moscow Time)
584              
585             =item 115. C<MST> -07:00 (Mountain Standard Time (North America))
586              
587             =item 116. C<MUT> +04:00 (Mauritius Time)
588              
589             =item 117. C<MVT> +05:00 (Maldives Time)
590              
591             =item 118. C<MYT> +08:00 (Malaysia Time)
592              
593             =item 119. C<NCT> +11:00 (New Caledonia Time)
594              
595             =item 120. C<NDT> -02:30 (Newfoundland Daylight Time)
596              
597             =item 121. C<NFT> +11:00 (Norfolk Island Time)
598              
599             =item 122. C<NOVT> +07:00 (Novosibirsk Time [9])
600              
601             =item 123. C<NPT> +05:45 (Nepal Time)
602              
603             =item 124. C<NST> -03:30 (Newfoundland Standard Time)
604              
605             =item 125. C<NT> -03:30 (Newfoundland Time)
606              
607             =item 126. C<NUT> -11:00 (Niue Time)
608              
609             =item 127. C<NZDT> +13:00 (New Zealand Daylight Time)
610              
611             =item 128. C<NZST> +12:00 (New Zealand Standard Time)
612              
613             =item 129. C<OMST> +06:00 (Omsk Time)
614              
615             =item 130. C<ORAT> +05:00 (Oral Time)
616              
617             =item 131. C<PDT> -07:00 (Pacific Daylight Time (North America))
618              
619             =item 132. C<PET> -05:00 (Peru Time)
620              
621             =item 133. C<PETT> +12:00 (Kamchatka Time)
622              
623             =item 134. C<PGT> +10:00 (Papua New Guinea Time)
624              
625             =item 135. C<PHOT> +13:00 (Phoenix Island Time)
626              
627             =item 136. C<PHST> +08:00 (Philippine Standard Time)
628              
629             =item 137. C<PHT> +08:00 (Philippine Time)
630              
631             =item 138. C<PKT> +05:00 (Pakistan Standard Time)
632              
633             =item 139. C<PMDT> -02:00 (Saint Pierre and Miquelon Daylight Time)
634              
635             =item 140. C<PMST> -03:00 (Saint Pierre and Miquelon Standard Time)
636              
637             =item 141. C<PONT> +11:00 (Pohnpei Standard Time)
638              
639             =item 142. C<PST> -08:00 (Pacific Standard Time (North America))
640              
641             =item 143. C<PWT> +09:00 (Palau Time[10])
642              
643             =item 144. C<PYST> -03:00 (Paraguay Summer Time[11])
644              
645             =item 145. C<PYT> -04:00 (Paraguay Time[12])
646              
647             =item 146. C<RET> +04:00 (Réunion Time)
648              
649             =item 147. C<ROTT> -03:00 (Rothera Research Station Time)
650              
651             =item 148. C<SAKT> +11:00 (Sakhalin Island Time)
652              
653             =item 149. C<SAMT> +04:00 (Samara Time)
654              
655             =item 150. C<SAST> +02:00 (South African Standard Time)
656              
657             =item 151. C<SBT> +11:00 (Solomon Islands Time)
658              
659             =item 152. C<SCT> +04:00 (Seychelles Time)
660              
661             =item 153. C<SDT> -10:00 (Samoa Daylight Time)
662              
663             =item 154. C<SGT> +08:00 (Singapore Time)
664              
665             =item 155. C<SLST> +05:30 (Sri Lanka Standard Time)
666              
667             =item 156. C<SRET> +11:00 (Srednekolymsk Time)
668              
669             =item 157. C<SRT> -03:00 (Suriname Time)
670              
671             =item 158. C<SST> +08:00 (Singapore Standard Time)
672              
673             =item 159. C<SYOT> +03:00 (Showa Station Time)
674              
675             =item 160. C<TAHT> -10:00 (Tahiti Time)
676              
677             =item 161. C<TFT> +05:00 (French Southern and Antarctic Time[13])
678              
679             =item 162. C<THA> +07:00 (Thailand Standard Time)
680              
681             =item 163. C<TJT> +05:00 (Tajikistan Time)
682              
683             =item 164. C<TKT> +13:00 (Tokelau Time)
684              
685             =item 165. C<TLT> +09:00 (Timor Leste Time)
686              
687             =item 166. C<TMT> +05:00 (Turkmenistan Time)
688              
689             =item 167. C<TOT> +13:00 (Tonga Time)
690              
691             =item 168. C<TRT> +03:00 (Turkey Time)
692              
693             =item 169. C<TVT> +12:00 (Tuvalu Time)
694              
695             =item 170. C<ULAST> +09:00 (Ulaanbaatar Summer Time)
696              
697             =item 171. C<ULAT> +08:00 (Ulaanbaatar Standard Time)
698              
699             =item 172. C<UTC> UTC (Coordinated Universal Time)
700              
701             =item 173. C<UYST> -02:00 (Uruguay Summer Time)
702              
703             =item 174. C<UYT> -03:00 (Uruguay Standard Time)
704              
705             =item 175. C<UZT> +05:00 (Uzbekistan Time)
706              
707             =item 176. C<VET> -04:00 (Venezuelan Standard Time)
708              
709             =item 177. C<VLAT> +10:00 (Vladivostok Time)
710              
711             =item 178. C<VOLT> +03:00 (Volgograd Time)
712              
713             =item 179. C<VOST> +06:00 (Vostok Station Time)
714              
715             =item 180. C<VUT> +11:00 (Vanuatu Time)
716              
717             =item 181. C<WAKT> +12:00 (Wake Island Time)
718              
719             =item 182. C<WAST> +02:00 (West Africa Summer Time)
720              
721             =item 183. C<WAT> +01:00 (West Africa Time)
722              
723             =item 184. C<WEST> +01:00 (Western European Summer Time)
724              
725             =item 185. C<WET> UTC (Western European Time)
726              
727             =item 186. C<WGST> -02:00 (West Greenland Summer Time[14])
728              
729             =item 187. C<WGT> -03:00 (West Greenland Time[15])
730              
731             =item 188. C<WIB> +07:00 (Western Indonesian Time)
732              
733             =item 189. C<WIT> +09:00 (Eastern Indonesian Time)
734              
735             =item 190. C<WITA> +08:00 (Central Indonesia Time)
736              
737             =item 191. C<WST> +08:00 (Western Standard Time)
738              
739             =item 192. C<YAKT> +09:00 (Yakutsk Time)
740              
741             =item 193. C<YEKT> +05:00 (Yekaterinburg Time)
742              
743             =back
744              
745             =head1 METHODS
746              
747             =head2 aliases
748              
749             Returns an array reference of the time zone aliases.
750              
751             my $aliases = DateTime::TimeZone::Catalog::Extend->aliases;
752              
753             You can also achieve the same result by accessing directly the package variable C<$ALIAS_CATALOG>
754              
755             my $aliases = [sort( keys( %$DateTime::TimeZone::Catalog::Extend::ALIAS_CATALOG ) )];
756              
757             =head1 AUTHOR
758              
759             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
760              
761             =head1 SEE ALSO
762              
763             L<DateTime::TimeZone::Catalog>, L<DateTime::TimeZone::Alias>, L<DateTime::TimeZone>
764              
765             =head1 COPYRIGHT & LICENSE
766              
767             Copyright(c) 2022 DEGUEST Pte. Ltd.
768              
769             All rights reserved
770              
771             This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
772              
773             =cut