1# Based on http://stackoverflow.com/q/1703546
2# As well as http://en.wikipedia.org/wiki/List_of_time_zone_abbreviations
3# As well as https://github.com/scrapinghub/dateparser/pull/4
4# As well as http://en.wikipedia.org/wiki/List_of_UTC_time_offsets
5
6timezone_info_list = [
7 {
8 "regex_patterns": [r"(.)%s$"],
9 "replace": [
10 # UTC+n, UTC-n, GMT+n, GMT-n:
11 (r"(?:UTC|GMT)\\(\+|\-)0(\d):00", r"(?:UTC|GMT)\\\1\2"),
12 # UTC+n:mm, UTC-n:mm, GMT+n:mm, GMT-n:mm:
13 (r"(?:UTC|GMT)\\(\+|\-)0(\d):(\d{2})", r"(?:UTC|GMT)\\\1\2:\3"),
14 # UTC+nn, UTC-nn, GMT+nn, GMT-nn:
15 (r"(?:UTC|GMT)\\(\+|\-)(\d{2}):00", r"(?:UTC|GMT)\\\1\2"),
16 # UTC+nnmm, UTC-nnmm, GMT+nnmm, GMT-nnmm:
17 (r"(?:UTC|GMT)(\\[+-])(\d{2}):(\d{2})", r"(?:UTC|GMT)\1\2:?\3.*"),
18 # Others:
19 (r"UTC", r""),
20 (r":", r""),
21 (r":|UTC", r""),
22 (r"UTC", r"GMT"),
23 ],
24 "timezones": [
25 (r"UTC\-12:00", -43200),
26 (r"UTC\-11:00", -39600),
27 (r"UTC\-10:00", -36000),
28 (r"UTC\-09:30", -34200),
29 (r"UTC\-09:00", -32400),
30 (r"UTC\-08:00", -28800),
31 (r"UTC\-07:00", -25200),
32 (r"UTC\-06:00", -21600),
33 (r"UTC\-05:00", -18000),
34 (r"UTC\-04:30", -16200),
35 (r"UTC\-04:00", -14400),
36 (r"UTC\-03:30", -12600),
37 (r"UTC\-03:00", -10800),
38 (r"UTC\-02:30", -9000),
39 (r"UTC\-02:00", -7200),
40 (r"UTC\-01:00", -3600),
41 (r"UTC\-00:00", 0),
42 (r"UTC\+00:00", 0),
43 (r"UTC\+01:00", 3600),
44 (r"UTC\+02:00", 7200),
45 (r"UTC\+03:00", 10800),
46 (r"UTC\+03:30", 12600),
47 (r"UTC\+04:00", 14400),
48 (r"UTC\+04:30", 16200),
49 (r"UTC\+05:00", 18000),
50 (r"UTC\+05:30", 19800),
51 (r"UTC\+05:45", 20700),
52 (r"UTC\+06:00", 21600),
53 (r"UTC\+06:30", 23400),
54 (r"UTC\+07:00", 25200),
55 (r"UTC\+08:00", 28800),
56 (r"UTC\+08:45", 31500),
57 (r"UTC\+09:00", 32400),
58 (r"UTC\+09:30", 34200),
59 (r"UTC\+10:00", 36000),
60 (r"UTC\+10:30", 37800),
61 (r"UTC\+11:00", 39600),
62 (r"UTC\+11:30", 41400),
63 (r"UTC\+12:00", 43200),
64 (r"UTC\+12:45", 45900),
65 (r"UTC\+13:00", 46800),
66 (r"UTC\+14:00", 50400),
67 ],
68 },
69 {
70 "regex_patterns": [r"(\W|\d|_)%s($|\W)"],
71 "timezones": [
72 ("ACDT", 37800),
73 ("ACST", 34200),
74 ("ACT", -18000),
75 ("ACWDT", 35100),
76 ("ACWST", 31500),
77 ("ADDT", -7200),
78 ("ADMT", 9300),
79 ("ADT", -10800),
80 ("AEDT", 39600),
81 ("AEST", 36000),
82 ("AFT", 16200),
83 ("AHDT", -32400),
84 ("AHST", -36000),
85 ("AKDT", -28800),
86 ("AKST", -32400),
87 ("AKTST", 21600),
88 ("AKTT", 18000),
89 ("ALMST", 25200),
90 ("ALMT", 21600),
91 ("AMST", 18000),
92 ("AMT", 14400),
93 ("ANAST", 43200),
94 ("ANAT", 43200),
95 ("ANT", -16200),
96 ("APT", -10800),
97 ("AQTST", 21600),
98 ("AQTT", 18000),
99 ("ARST", -10800),
100 ("ART", -10800),
101 ("ASHST", 21600),
102 ("ASHT", 18000),
103 ("AST", -14400),
104 ("AWDT", 32400),
105 ("AWST", 28800),
106 ("AWT", -10800),
107 ("AZOMT", 0),
108 ("AZOST", -3600),
109 ("AZOT", -3600),
110 ("AZST", 18000),
111 ("AZT", 14400),
112 ("BAKST", 14400),
113 ("BAKT", 10800),
114 ("BDST", 7200),
115 ("BDT", 28800),
116 ("BEAT", 9000),
117 ("BEAUT", 9900),
118 ("BIOT", 21600),
119 ("BMT", 1800),
120 ("BNT", 28800),
121 ("BORT", 28800),
122 ("BOST", -12780),
123 ("BOT", -14400),
124 ("BRST", -7200),
125 ("BRT", -10800),
126 ("BST", 39600),
127 ("BTT", 21600),
128 ("BURT", 23400),
129 ("CANT", -3600),
130 ("CAPT", -32400),
131 ("CAST", 10800),
132 ("CAT", 7200),
133 ("CAWT", -32400),
134 ("CCT", 23400),
135 ("CDDT", -14400),
136 ("CDT", -18000),
137 ("CEDT", 7200),
138 ("CEMT", 10800),
139 ("CEST", 7200),
140 ("CET", 3600),
141 ("CGST", -3600),
142 ("CGT", -7200),
143 ("CHADT", 49500),
144 ("CHAST", 45900),
145 ("CHDT", -19800),
146 ("CHOST", 36000),
147 ("CHOT", 28800),
148 ("CIST", -28800),
149 ("CKHST", -34200),
150 ("CKT", -36000),
151 ("CLST", -10800),
152 ("CLT", -14400),
153 ("CMT", -16080),
154 ("COST", -14400),
155 ("COT", -18000),
156 ("CPT", -18000),
157 ("CST", -21600),
158 ("CUT", 8400),
159 ("CVST", -3600),
160 ("CVT", -3600),
161 ("CWT", -18000),
162 ("CXT", 25200),
163 ("ChST", 36000),
164 ("DACT", 21600),
165 ("DAVT", 25200),
166 ("DDUT", 36000),
167 ("DFT", 3600),
168 ("DMT", -1500),
169 ("DUSST", 21600),
170 ("DUST", 21600),
171 ("EASST", -18000),
172 ("EAST", -21600),
173 ("EAT", 10800),
174 ("ECT", -18000),
175 ("EDDT", -10800),
176 ("EDT", -14400),
177 ("EEDT", 10800),
178 ("EEST", 10800),
179 ("EET", 7200),
180 ("EGST", 0),
181 ("EGT", -3600),
182 ("EHDT", -16200),
183 ("EMT", -26220),
184 ("EPT", -14400),
185 ("EST", -18000),
186 ("ET", -18000),
187 ("EWT", -14400),
188 ("FET", 10800),
189 ("FFMT", -14640),
190 ("FJST", 46800),
191 ("FJT", 43200),
192 ("FKST", -10800),
193 ("FKT", -14400),
194 ("FMT", -4080),
195 ("FNST", -3600),
196 ("FNT", -7200),
197 ("FORT", 14400),
198 ("FRUST", 25200),
199 ("FRUT", 18000),
200 ("GALT", -21600),
201 ("GAMT", -32400),
202 ("GBGT", -13500),
203 ("GEST", 14400),
204 ("GET", 14400),
205 ("GFT", -10800),
206 ("GHST", 1200),
207 ("GILT", 43200),
208 ("GIT", -32400),
209 ("GMT", 0),
210 ("GST", 14400),
211 ("GYT", -14400),
212 ("HAA", -10800),
213 ("HAC", -18000),
214 ("HADT", -32400),
215 ("HAE", -14400),
216 ("HAP", -25200),
217 ("HAR", -21600),
218 ("HAST", -36000),
219 ("HAT", -9000),
220 ("HAY", -28800),
221 ("HDT", -34200),
222 ("HKST", 32400),
223 ("HKT", 28800),
224 ("HLV", -16200),
225 ("HMT", 18000),
226 ("HNA", -14400),
227 ("HNC", -21600),
228 ("HNE", -18000),
229 ("HNP", -28800),
230 ("HNR", -25200),
231 ("HNT", -12600),
232 ("HNY", -32400),
233 ("HOVST", 28800),
234 ("HOVT", 25200),
235 ("HST", -36000),
236 ("ICT", 25200),
237 ("IDDT", 14400),
238 ("IDT", 10800),
239 ("IHST", 21600),
240 ("IMT", 7020),
241 ("IOT", 21600),
242 ("IRDT", 16200),
243 ("IRKST", 32400),
244 ("IRKT", 28800),
245 ("IRST", 12600),
246 ("ISST", 0),
247 ("IST", 7200),
248 ("JAVT", 26400),
249 ("JCST", 32400),
250 ("JDT", 36000),
251 ("JMT", 8460),
252 ("JST", 32400),
253 ("JWST", 28800),
254 ("KART", 18000),
255 ("KDT", 32400),
256 ("KGST", 21600),
257 ("KGT", 21600),
258 ("KIZST", 21600),
259 ("KIZT", 18000),
260 ("KMT", 5760),
261 ("KOST", 39600),
262 ("KRAST", 28800),
263 ("KRAT", 25200),
264 ("KST", 32400),
265 ("KUYST", 18000),
266 ("KUYT", 14400),
267 ("KWAT", -43200),
268 ("LHDT", 39600),
269 ("LHST", 37800),
270 ("LINT", 50400),
271 ("LKT", 23400),
272 ("LMT", -20160),
273 ("LMT", -17640),
274 ("LMT", -20580),
275 ("LMT", -14400),
276 ("LRT", -2640),
277 ("LST", 9420),
278 ("MADMT", 3600),
279 ("MADST", 0),
280 ("MADT", -3600),
281 ("MAGST", 43200),
282 ("MAGT", 39600),
283 ("MALST", 26400),
284 ("MALT", 27000),
285 ("MART", -34200),
286 ("MAWT", 18000),
287 ("MDDT", -18000),
288 ("MDST", 16260),
289 ("MDT", -21600),
290 ("MEST", 7200),
291 ("MESZ", 7200),
292 ("MET", 3600),
293 ("MEZ", 3600),
294 ("MHT", 43200),
295 ("MIST", 39600),
296 ("MIT", -34200),
297 ("MMT", 23400),
298 ("MOST", 32400),
299 ("MOT", 28800),
300 ("MPT", -21600),
301 ("MSD", 14400),
302 ("MSK", 10800),
303 ("MSM", 18000),
304 ("MST", -25200),
305 ("MUST", 18000),
306 ("MUT", 14400),
307 ("MVT", 18000),
308 ("MWT", -21600),
309 ("MYT", 28800),
310 ("NCST", 43200),
311 ("NCT", 39600),
312 ("NDDT", -5400),
313 ("NDT", -9000),
314 ("NEGT", -12600),
315 ("NEST", 4800),
316 ("NET", 1200),
317 ("NFT", 41400),
318 ("NMT", 40320),
319 ("NOVST", 25200),
320 ("NOVT", 21600),
321 ("NPT", 20700),
322 ("NRT", 41400),
323 ("NST", -12600),
324 ("NT", -12600),
325 ("NUT", -39600),
326 ("NWT", -36000),
327 ("NZDT", 46800),
328 ("NZMT", 41400),
329 ("NZST", 43200),
330 ("OMSST", 25200),
331 ("OMST", 21600),
332 ("ORAST", 18000),
333 ("ORAT", 18000),
334 ("PDDT", -21600),
335 ("PDT", -25200),
336 ("PEST", -14400),
337 ("PET", -18000),
338 ("PETST", 43200),
339 ("PETT", 43200),
340 ("PGT", 36000),
341 ("PHOT", 46800),
342 ("PHST", 32400),
343 ("PHT", 28800),
344 ("PKST", 21600),
345 ("PKT", 18000),
346 ("PLMT", 25620),
347 ("PMDT", -7200),
348 ("PMMT", 35340),
349 ("PMST", -10800),
350 ("PMT", 540),
351 ("PNT", -30600),
352 ("PONT", 39600),
353 ("PPMT", -17340),
354 ("PPT", -25200),
355 ("PST", -28800),
356 ("PT", -28800),
357 ("PWT", -25200),
358 ("PYST", -10800),
359 ("PYT", -14400),
360 ("QMT", -18840),
361 ("QYZST", 25200),
362 ("QYZT", 21600),
363 ("RET", 14400),
364 ("RMT", 3000),
365 ("ROTT", -10800),
366 ("SAKST", 43200),
367 ("SAKT", 39600),
368 ("SAMT", 14400),
369 ("SAST", 7200),
370 ("SBT", 39600),
371 ("SCT", 14400),
372 ("SDMT", -16800),
373 ("SDT", -36000),
374 ("SEČ", 3600),
375 ("SET", 3600),
376 ("SELČ", 7200),
377 ("SGT", 28800),
378 ("SHEST", 21600),
379 ("SHET", 18000),
380 ("SJMT", -20160),
381 ("SLT", 19800),
382 ("SMT", -13860),
383 ("SRET", 39600),
384 ("SRT", -10800),
385 ("SST", -39600),
386 ("STAT", 10800),
387 ("SVEST", 21600),
388 ("SVET", 14400),
389 ("SWAT", 5400),
390 ("SYOT", 10800),
391 ("TAHT", -36000),
392 ("TASST", 25200),
393 ("TAST", 21600),
394 ("TBIST", 18000),
395 ("TBIT", 10800),
396 ("TBMT", 10740),
397 ("TFT", 18000),
398 ("THA", 25200),
399 ("TJT", 18000),
400 ("TKT", -39600),
401 ("TLT", 32400),
402 ("TMT", 18000),
403 ("TOST", 50400),
404 ("TOT", 46800),
405 ("TRST", 14400),
406 ("TRT", 10800),
407 ("TSAT", 10800),
408 ("TVT", 43200),
409 ("ULAST", 32400),
410 ("ULAT", 28800),
411 ("URAST", 18000),
412 ("URAT", 18000),
413 ("UT", 0),
414 ("UTC", 0),
415 ("UYHST", -9000),
416 ("UYST", -7200),
417 ("UYT", -10800),
418 ("UZST", 21600),
419 ("UZT", 18000),
420 ("VEČ", 7200),
421 ("VET", -16200),
422 ("VLAST", 39600),
423 ("VLAT", 36000),
424 ("VOLST", 14400),
425 ("VOLT", 14400),
426 ("VOST", 21600),
427 ("VUST", 43200),
428 ("VUT", 39600),
429 ("WARST", -10800),
430 ("WART", -14400),
431 ("WAST", 7200),
432 ("WAT", 3600),
433 ("WDT", 32400),
434 ("WEDT", 3600),
435 ("WEMT", 7200),
436 ("WEST", 3600),
437 ("WET", 0),
438 ("WFT", 43200),
439 ("WGST", -7200),
440 ("WGT", -10800),
441 ("WIB", 25200),
442 ("WIT", 32400),
443 ("WITA", 28800),
444 ("WMT", 5040),
445 ("WSDT", 50400),
446 ("WSST", 46800),
447 ("WST", 28800),
448 ("WT", 0),
449 ("XJT", 21600),
450 ("YAKST", 36000),
451 ("YAKT", 32400),
452 ("YAPT", 36000),
453 ("YDDT", -25200),
454 ("YDT", -28800),
455 ("YEKST", 21600),
456 ("YEKST", 21600),
457 ("YEKT", 18000),
458 ("YEKT", 18000),
459 ("YERST", 14400),
460 ("YERT", 10800),
461 ("YPT", -28800),
462 ("YST", -32400),
463 ("YWT", -28800),
464 ("zzz", 0),
465 ("Z", 0),
466 ("ZEČ", 0),
467 ],
468 },
469]