OLD | NEW |
| (Empty) |
1 # -*- coding: utf-8 -*- | |
2 """ | |
3 Time zone functions. Part of the pygeoip package. | |
4 | |
5 @author: Jennifer Ennis <zaylea@gmail.com> | |
6 | |
7 @license: Copyright(C) 2004 MaxMind LLC | |
8 | |
9 This program is free software: you can redistribute it and/or modify | |
10 it under the terms of the GNU Lesser General Public License as published by | |
11 the Free Software Foundation, either version 3 of the License, or | |
12 (at your option) any later version. | |
13 | |
14 This program is distributed in the hope that it will be useful, | |
15 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 GNU General Public License for more details. | |
18 | |
19 You should have received a copy of the GNU Lesser General Public License | |
20 along with this program. If not, see <http://www.gnu.org/licenses/lgpl.txt>. | |
21 """ | |
22 | |
23 __all__ = ['time_zone_by_country_and_region'] | |
24 | |
25 _country = { | |
26 'AD': 'Europe/Andorra', | |
27 'AE': 'Asia/Dubai', | |
28 'AF': 'Asia/Kabul', | |
29 'AG': 'America/Antigua', | |
30 'AI': 'America/Anguilla', | |
31 'AL': 'Europe/Tirane', | |
32 'AM': 'Asia/Yerevan', | |
33 'AN': 'America/Curacao', | |
34 'AO': 'Africa/Luanda', | |
35 'AR': { | |
36 '01': 'America/Argentina/Buenos_Aires', | |
37 '02': 'America/Argentina/Catamarca', | |
38 '03': 'America/Argentina/Tucuman', | |
39 '04': 'America/Argentina/Rio_Gallegos', | |
40 '05': 'America/Argentina/Cordoba', | |
41 '06': 'America/Argentina/Tucuman', | |
42 '07': 'America/Argentina/Buenos_Aires', | |
43 '08': 'America/Argentina/Buenos_Aires', | |
44 '09': 'America/Argentina/Tucuman', | |
45 '10': 'America/Argentina/Jujuy', | |
46 '11': 'America/Argentina/San_Luis', | |
47 '12': 'America/Argentina/La_Rioja', | |
48 '13': 'America/Argentina/Mendoza', | |
49 '14': 'America/Argentina/Buenos_Aires', | |
50 '15': 'America/Argentina/San_Luis', | |
51 '16': 'America/Argentina/Buenos_Aires', | |
52 '17': 'America/Argentina/Salta', | |
53 '18': 'America/Argentina/San_Juan', | |
54 '19': 'America/Argentina/San_Luis', | |
55 '20': 'America/Argentina/Rio_Gallegos', | |
56 '21': 'America/Argentina/Buenos_Aires', | |
57 '22': 'America/Argentina/Catamarca', | |
58 '23': 'America/Argentina/Ushuaia', | |
59 '24': 'America/Argentina/Tucuman' | |
60 }, | |
61 'AS': 'US/Samoa', | |
62 'AT': 'Europe/Vienna', | |
63 'AU': { | |
64 '01': 'Australia/Canberra', | |
65 '02': 'Australia/NSW', | |
66 '03': 'Australia/North', | |
67 '04': 'Australia/Queensland', | |
68 '05': 'Australia/South', | |
69 '06': 'Australia/Tasmania', | |
70 '07': 'Australia/Victoria', | |
71 '08': 'Australia/West' | |
72 }, | |
73 'AW': 'America/Aruba', | |
74 'AX': 'Europe/Mariehamn', | |
75 'AZ': 'Asia/Baku', | |
76 'BA': 'Europe/Sarajevo', | |
77 'BB': 'America/Barbados', | |
78 'BD': 'Asia/Dhaka', | |
79 'BE': 'Europe/Brussels', | |
80 'BF': 'Africa/Ouagadougou', | |
81 'BG': 'Europe/Sofia', | |
82 'BH': 'Asia/Bahrain', | |
83 'BI': 'Africa/Bujumbura', | |
84 'BJ': 'Africa/Porto-Novo', | |
85 'BL': 'America/St_Barthelemy', | |
86 'BM': 'Atlantic/Bermuda', | |
87 'BN': 'Asia/Brunei', | |
88 'BO': 'America/La_Paz', | |
89 'BQ': 'America/Curacao', | |
90 'BR': { | |
91 '01': 'America/Rio_Branco', | |
92 '02': 'America/Maceio', | |
93 '03': 'America/Sao_Paulo', | |
94 '04': 'America/Manaus', | |
95 '05': 'America/Bahia', | |
96 '06': 'America/Fortaleza', | |
97 '07': 'America/Sao_Paulo', | |
98 '08': 'America/Sao_Paulo', | |
99 '11': 'America/Campo_Grande', | |
100 '13': 'America/Belem', | |
101 '14': 'America/Cuiaba', | |
102 '15': 'America/Sao_Paulo', | |
103 '16': 'America/Belem', | |
104 '17': 'America/Recife', | |
105 '18': 'America/Sao_Paulo', | |
106 '20': 'America/Fortaleza', | |
107 '21': 'America/Sao_Paulo', | |
108 '22': 'America/Recife', | |
109 '23': 'America/Sao_Paulo', | |
110 '24': 'America/Porto_Velho', | |
111 '25': 'America/Boa_Vista', | |
112 '26': 'America/Sao_Paulo', | |
113 '27': 'America/Sao_Paulo', | |
114 '28': 'America/Maceio', | |
115 '29': 'America/Sao_Paulo', | |
116 '30': 'America/Recife', | |
117 '31': 'America/Araguaina' | |
118 }, | |
119 'BS': 'America/Nassau', | |
120 'BT': 'Asia/Thimphu', | |
121 'BW': 'Africa/Gaborone', | |
122 'BY': 'Europe/Minsk', | |
123 'BZ': 'America/Belize', | |
124 'CA': { | |
125 'AB': 'America/Edmonton', | |
126 'BC': 'America/Vancouver', | |
127 'MB': 'America/Winnipeg', | |
128 'NB': 'America/Halifax', | |
129 'NL': 'America/St_Johns', | |
130 'NS': 'America/Halifax', | |
131 'NT': 'America/Yellowknife', | |
132 'NU': 'America/Rankin_Inlet', | |
133 'ON': 'America/Toronto', | |
134 'PE': 'America/Halifax', | |
135 'QC': 'America/Montreal', | |
136 'SK': 'America/Regina', | |
137 'YT': 'America/Whitehorse' | |
138 }, | |
139 'CC': 'Indian/Cocos', | |
140 'CD': { | |
141 '02': 'Africa/Kinshasa', | |
142 '05': 'Africa/Lubumbashi', | |
143 '06': 'Africa/Kinshasa', | |
144 '08': 'Africa/Kinshasa', | |
145 '10': 'Africa/Lubumbashi', | |
146 '11': 'Africa/Lubumbashi', | |
147 '12': 'Africa/Lubumbashi' | |
148 }, | |
149 'CF': 'Africa/Bangui', | |
150 'CG': 'Africa/Brazzaville', | |
151 'CH': 'Europe/Zurich', | |
152 'CI': 'Africa/Abidjan', | |
153 'CK': 'Pacific/Rarotonga', | |
154 'CL': 'Chile/Continental', | |
155 'CM': 'Africa/Lagos', | |
156 'CN': { | |
157 '01': 'Asia/Shanghai', | |
158 '02': 'Asia/Shanghai', | |
159 '03': 'Asia/Shanghai', | |
160 '04': 'Asia/Shanghai', | |
161 '05': 'Asia/Harbin', | |
162 '06': 'Asia/Chongqing', | |
163 '07': 'Asia/Shanghai', | |
164 '08': 'Asia/Harbin', | |
165 '09': 'Asia/Shanghai', | |
166 '10': 'Asia/Shanghai', | |
167 '11': 'Asia/Chongqing', | |
168 '12': 'Asia/Shanghai', | |
169 '13': 'Asia/Urumqi', | |
170 '14': 'Asia/Chongqing', | |
171 '15': 'Asia/Chongqing', | |
172 '16': 'Asia/Chongqing', | |
173 '18': 'Asia/Chongqing', | |
174 '19': 'Asia/Harbin', | |
175 '20': 'Asia/Harbin', | |
176 '21': 'Asia/Chongqing', | |
177 '22': 'Asia/Harbin', | |
178 '23': 'Asia/Shanghai', | |
179 '24': 'Asia/Chongqing', | |
180 '25': 'Asia/Shanghai', | |
181 '26': 'Asia/Chongqing', | |
182 '28': 'Asia/Shanghai', | |
183 '29': 'Asia/Chongqing', | |
184 '30': 'Asia/Chongqing', | |
185 '31': 'Asia/Chongqing', | |
186 '32': 'Asia/Chongqing', | |
187 '33': 'Asia/Chongqing' | |
188 }, | |
189 'CO': 'America/Bogota', | |
190 'CR': 'America/Costa_Rica', | |
191 'CU': 'America/Havana', | |
192 'CV': 'Atlantic/Cape_Verde', | |
193 'CW': 'America/Curacao', | |
194 'CX': 'Indian/Christmas', | |
195 'CY': 'Asia/Nicosia', | |
196 'CZ': 'Europe/Prague', | |
197 'DE': 'Europe/Berlin', | |
198 'DJ': 'Africa/Djibouti', | |
199 'DK': 'Europe/Copenhagen', | |
200 'DM': 'America/Dominica', | |
201 'DO': 'America/Santo_Domingo', | |
202 'DZ': 'Africa/Algiers', | |
203 'EC': { | |
204 '01': 'Pacific/Galapagos', | |
205 '02': 'America/Guayaquil', | |
206 '03': 'America/Guayaquil', | |
207 '04': 'America/Guayaquil', | |
208 '05': 'America/Guayaquil', | |
209 '06': 'America/Guayaquil', | |
210 '07': 'America/Guayaquil', | |
211 '08': 'America/Guayaquil', | |
212 '09': 'America/Guayaquil', | |
213 '10': 'America/Guayaquil', | |
214 '11': 'America/Guayaquil', | |
215 '12': 'America/Guayaquil', | |
216 '13': 'America/Guayaquil', | |
217 '14': 'America/Guayaquil', | |
218 '15': 'America/Guayaquil', | |
219 '17': 'America/Guayaquil', | |
220 '18': 'America/Guayaquil', | |
221 '19': 'America/Guayaquil', | |
222 '20': 'America/Guayaquil', | |
223 '22': 'America/Guayaquil' | |
224 }, | |
225 'EE': 'Europe/Tallinn', | |
226 'EG': 'Africa/Cairo', | |
227 'EH': 'Africa/El_Aaiun', | |
228 'ER': 'Africa/Asmera', | |
229 'ES': { | |
230 '07': 'Europe/Madrid', | |
231 '27': 'Europe/Madrid', | |
232 '29': 'Europe/Madrid', | |
233 '31': 'Europe/Madrid', | |
234 '32': 'Europe/Madrid', | |
235 '34': 'Europe/Madrid', | |
236 '39': 'Europe/Madrid', | |
237 '51': 'Africa/Ceuta', | |
238 '52': 'Europe/Madrid', | |
239 '53': 'Atlantic/Canary', | |
240 '54': 'Europe/Madrid', | |
241 '55': 'Europe/Madrid', | |
242 '56': 'Europe/Madrid', | |
243 '57': 'Europe/Madrid', | |
244 '58': 'Europe/Madrid', | |
245 '59': 'Europe/Madrid', | |
246 '60': 'Europe/Madrid' | |
247 }, | |
248 'ET': 'Africa/Addis_Ababa', | |
249 'FI': 'Europe/Helsinki', | |
250 'FJ': 'Pacific/Fiji', | |
251 'FK': 'Atlantic/Stanley', | |
252 'FO': 'Atlantic/Faeroe', | |
253 'FR': 'Europe/Paris', | |
254 'FX': 'Europe/Paris', | |
255 'GA': 'Africa/Libreville', | |
256 'GB': 'Europe/London', | |
257 'GD': 'America/Grenada', | |
258 'GE': 'Asia/Tbilisi', | |
259 'GF': 'America/Cayenne', | |
260 'GG': 'Europe/Guernsey', | |
261 'GH': 'Africa/Accra', | |
262 'GI': 'Europe/Gibraltar', | |
263 'GL': { | |
264 '01': 'America/Thule', | |
265 '02': 'America/Godthab', | |
266 '03': 'America/Godthab' | |
267 }, | |
268 'GM': 'Africa/Banjul', | |
269 'GN': 'Africa/Conakry', | |
270 'GP': 'America/Guadeloupe', | |
271 'GQ': 'Africa/Malabo', | |
272 'GR': 'Europe/Athens', | |
273 'GS': 'Atlantic/South_Georgia', | |
274 'GT': 'America/Guatemala', | |
275 'GU': 'Pacific/Guam', | |
276 'GW': 'Africa/Bissau', | |
277 'GY': 'America/Guyana', | |
278 'HK': 'Asia/Hong_Kong', | |
279 'HN': 'America/Tegucigalpa', | |
280 'HR': 'Europe/Zagreb', | |
281 'HT': 'America/Port-au-Prince', | |
282 'HU': 'Europe/Budapest', | |
283 'ID': { | |
284 '01': 'Asia/Pontianak', | |
285 '02': 'Asia/Makassar', | |
286 '03': 'Asia/Jakarta', | |
287 '04': 'Asia/Jakarta', | |
288 '05': 'Asia/Jakarta', | |
289 '06': 'Asia/Jakarta', | |
290 '07': 'Asia/Jakarta', | |
291 '08': 'Asia/Jakarta', | |
292 '09': 'Asia/Jayapura', | |
293 '10': 'Asia/Jakarta', | |
294 '11': 'Asia/Pontianak', | |
295 '12': 'Asia/Makassar', | |
296 '13': 'Asia/Makassar', | |
297 '14': 'Asia/Makassar', | |
298 '15': 'Asia/Jakarta', | |
299 '16': 'Asia/Makassar', | |
300 '17': 'Asia/Makassar', | |
301 '18': 'Asia/Makassar', | |
302 '19': 'Asia/Pontianak', | |
303 '20': 'Asia/Makassar', | |
304 '21': 'Asia/Makassar', | |
305 '22': 'Asia/Makassar', | |
306 '23': 'Asia/Makassar', | |
307 '24': 'Asia/Jakarta', | |
308 '25': 'Asia/Pontianak', | |
309 '26': 'Asia/Pontianak', | |
310 '30': 'Asia/Jakarta', | |
311 '31': 'Asia/Makassar', | |
312 '33': 'Asia/Jakarta' | |
313 }, | |
314 'IE': 'Europe/Dublin', | |
315 'IL': 'Asia/Jerusalem', | |
316 'IM': 'Europe/Isle_of_Man', | |
317 'IN': 'Asia/Calcutta', | |
318 'IO': 'Indian/Chagos', | |
319 'IQ': 'Asia/Baghdad', | |
320 'IR': 'Asia/Tehran', | |
321 'IS': 'Atlantic/Reykjavik', | |
322 'IT': 'Europe/Rome', | |
323 'JE': 'Europe/Jersey', | |
324 'JM': 'America/Jamaica', | |
325 'JO': 'Asia/Amman', | |
326 'JP': 'Asia/Tokyo', | |
327 'KE': 'Africa/Nairobi', | |
328 'KG': 'Asia/Bishkek', | |
329 'KH': 'Asia/Phnom_Penh', | |
330 'KI': 'Pacific/Tarawa', | |
331 'KM': 'Indian/Comoro', | |
332 'KN': 'America/St_Kitts', | |
333 'KP': 'Asia/Pyongyang', | |
334 'KR': 'Asia/Seoul', | |
335 'KW': 'Asia/Kuwait', | |
336 'KY': 'America/Cayman', | |
337 'KZ': { | |
338 '01': 'Asia/Almaty', | |
339 '02': 'Asia/Almaty', | |
340 '03': 'Asia/Qyzylorda', | |
341 '04': 'Asia/Aqtobe', | |
342 '05': 'Asia/Qyzylorda', | |
343 '06': 'Asia/Aqtau', | |
344 '07': 'Asia/Oral', | |
345 '08': 'Asia/Qyzylorda', | |
346 '09': 'Asia/Aqtau', | |
347 '10': 'Asia/Qyzylorda', | |
348 '11': 'Asia/Almaty', | |
349 '12': 'Asia/Qyzylorda', | |
350 '13': 'Asia/Aqtobe', | |
351 '14': 'Asia/Qyzylorda', | |
352 '15': 'Asia/Almaty', | |
353 '16': 'Asia/Aqtobe', | |
354 '17': 'Asia/Almaty' | |
355 }, | |
356 'LA': 'Asia/Vientiane', | |
357 'LB': 'Asia/Beirut', | |
358 'LC': 'America/St_Lucia', | |
359 'LI': 'Europe/Vaduz', | |
360 'LK': 'Asia/Colombo', | |
361 'LR': 'Africa/Monrovia', | |
362 'LS': 'Africa/Maseru', | |
363 'LT': 'Europe/Vilnius', | |
364 'LU': 'Europe/Luxembourg', | |
365 'LV': 'Europe/Riga', | |
366 'LY': 'Africa/Tripoli', | |
367 'MA': 'Africa/Casablanca', | |
368 'MC': 'Europe/Monaco', | |
369 'MD': 'Europe/Chisinau', | |
370 'ME': 'Europe/Podgorica', | |
371 'MF': 'America/Marigot', | |
372 'MG': 'Indian/Antananarivo', | |
373 'MK': 'Europe/Skopje', | |
374 'ML': 'Africa/Bamako', | |
375 'MM': 'Asia/Rangoon', | |
376 'MN': 'Asia/Choibalsan', | |
377 'MO': 'Asia/Macao', | |
378 'MP': 'Pacific/Saipan', | |
379 'MQ': 'America/Martinique', | |
380 'MR': 'Africa/Nouakchott', | |
381 'MS': 'America/Montserrat', | |
382 'MT': 'Europe/Malta', | |
383 'MU': 'Indian/Mauritius', | |
384 'MV': 'Indian/Maldives', | |
385 'MW': 'Africa/Blantyre', | |
386 'MX': { | |
387 '01': 'America/Mexico_City', | |
388 '02': 'America/Tijuana', | |
389 '03': 'America/Hermosillo', | |
390 '04': 'America/Merida', | |
391 '05': 'America/Mexico_City', | |
392 '06': 'America/Chihuahua', | |
393 '07': 'America/Monterrey', | |
394 '08': 'America/Mexico_City', | |
395 '09': 'America/Mexico_City', | |
396 '10': 'America/Mazatlan', | |
397 '11': 'America/Mexico_City', | |
398 '12': 'America/Mexico_City', | |
399 '13': 'America/Mexico_City', | |
400 '14': 'America/Mazatlan', | |
401 '15': 'America/Chihuahua', | |
402 '16': 'America/Mexico_City', | |
403 '17': 'America/Mexico_City', | |
404 '18': 'America/Mazatlan', | |
405 '19': 'America/Monterrey', | |
406 '20': 'America/Mexico_City', | |
407 '21': 'America/Mexico_City', | |
408 '22': 'America/Mexico_City', | |
409 '23': 'America/Cancun', | |
410 '24': 'America/Mexico_City', | |
411 '25': 'America/Mazatlan', | |
412 '26': 'America/Hermosillo', | |
413 '27': 'America/Merida', | |
414 '28': 'America/Monterrey', | |
415 '29': 'America/Mexico_City', | |
416 '30': 'America/Mexico_City', | |
417 '31': 'America/Merida', | |
418 '32': 'America/Monterrey' | |
419 }, | |
420 'MY': { | |
421 '01': 'Asia/Kuala_Lumpur', | |
422 '02': 'Asia/Kuala_Lumpur', | |
423 '03': 'Asia/Kuala_Lumpur', | |
424 '04': 'Asia/Kuala_Lumpur', | |
425 '05': 'Asia/Kuala_Lumpur', | |
426 '06': 'Asia/Kuala_Lumpur', | |
427 '07': 'Asia/Kuala_Lumpur', | |
428 '08': 'Asia/Kuala_Lumpur', | |
429 '09': 'Asia/Kuala_Lumpur', | |
430 '11': 'Asia/Kuching', | |
431 '12': 'Asia/Kuala_Lumpur', | |
432 '13': 'Asia/Kuala_Lumpur', | |
433 '14': 'Asia/Kuala_Lumpur', | |
434 '15': 'Asia/Kuching', | |
435 '16': 'Asia/Kuching' | |
436 }, | |
437 'MZ': 'Africa/Maputo', | |
438 'NA': 'Africa/Windhoek', | |
439 'NC': 'Pacific/Noumea', | |
440 'NE': 'Africa/Niamey', | |
441 'NF': 'Pacific/Norfolk', | |
442 'NG': 'Africa/Lagos', | |
443 'NI': 'America/Managua', | |
444 'NL': 'Europe/Amsterdam', | |
445 'NO': 'Europe/Oslo', | |
446 'NP': 'Asia/Katmandu', | |
447 'NR': 'Pacific/Nauru', | |
448 'NU': 'Pacific/Niue', | |
449 'NZ': { | |
450 '85': 'Pacific/Auckland', | |
451 'E7': 'Pacific/Auckland', | |
452 'E8': 'Pacific/Auckland', | |
453 'E9': 'Pacific/Auckland', | |
454 'F1': 'Pacific/Auckland', | |
455 'F2': 'Pacific/Auckland', | |
456 'F3': 'Pacific/Auckland', | |
457 'F4': 'Pacific/Auckland', | |
458 'F5': 'Pacific/Auckland', | |
459 'F7': 'Pacific/Chatham', | |
460 'F8': 'Pacific/Auckland', | |
461 'F9': 'Pacific/Auckland', | |
462 'G1': 'Pacific/Auckland', | |
463 'G2': 'Pacific/Auckland', | |
464 'G3': 'Pacific/Auckland' | |
465 }, | |
466 'OM': 'Asia/Muscat', | |
467 'PA': 'America/Panama', | |
468 'PE': 'America/Lima', | |
469 'PF': 'Pacific/Marquesas', | |
470 'PG': 'Pacific/Port_Moresby', | |
471 'PH': 'Asia/Manila', | |
472 'PK': 'Asia/Karachi', | |
473 'PL': 'Europe/Warsaw', | |
474 'PM': 'America/Miquelon', | |
475 'PN': 'Pacific/Pitcairn', | |
476 'PR': 'America/Puerto_Rico', | |
477 'PS': 'Asia/Gaza', | |
478 'PT': { | |
479 '02': 'Europe/Lisbon', | |
480 '03': 'Europe/Lisbon', | |
481 '04': 'Europe/Lisbon', | |
482 '05': 'Europe/Lisbon', | |
483 '06': 'Europe/Lisbon', | |
484 '07': 'Europe/Lisbon', | |
485 '08': 'Europe/Lisbon', | |
486 '09': 'Europe/Lisbon', | |
487 '10': 'Atlantic/Madeira', | |
488 '11': 'Europe/Lisbon', | |
489 '13': 'Europe/Lisbon', | |
490 '14': 'Europe/Lisbon', | |
491 '16': 'Europe/Lisbon', | |
492 '17': 'Europe/Lisbon', | |
493 '18': 'Europe/Lisbon', | |
494 '19': 'Europe/Lisbon', | |
495 '20': 'Europe/Lisbon', | |
496 '21': 'Europe/Lisbon', | |
497 '22': 'Europe/Lisbon' | |
498 }, | |
499 'PW': 'Pacific/Palau', | |
500 'PY': 'America/Asuncion', | |
501 'QA': 'Asia/Qatar', | |
502 'RE': 'Indian/Reunion', | |
503 'RO': 'Europe/Bucharest', | |
504 'RS': 'Europe/Belgrade', | |
505 'RU': { | |
506 '01': 'Europe/Volgograd', | |
507 '02': 'Asia/Irkutsk', | |
508 '03': 'Asia/Novokuznetsk', | |
509 '04': 'Asia/Novosibirsk', | |
510 '05': 'Asia/Vladivostok', | |
511 '06': 'Europe/Moscow', | |
512 '07': 'Europe/Volgograd', | |
513 '08': 'Europe/Samara', | |
514 '09': 'Europe/Moscow', | |
515 '10': 'Europe/Moscow', | |
516 '11': 'Asia/Irkutsk', | |
517 '13': 'Asia/Yekaterinburg', | |
518 '14': 'Asia/Irkutsk', | |
519 '15': 'Asia/Anadyr', | |
520 '16': 'Europe/Samara', | |
521 '17': 'Europe/Volgograd', | |
522 '18': 'Asia/Krasnoyarsk', | |
523 '20': 'Asia/Irkutsk', | |
524 '21': 'Europe/Moscow', | |
525 '22': 'Europe/Volgograd', | |
526 '23': 'Europe/Kaliningrad', | |
527 '24': 'Europe/Volgograd', | |
528 '25': 'Europe/Moscow', | |
529 '26': 'Asia/Kamchatka', | |
530 '27': 'Europe/Volgograd', | |
531 '28': 'Europe/Moscow', | |
532 '29': 'Asia/Novokuznetsk', | |
533 '30': 'Asia/Vladivostok', | |
534 '31': 'Asia/Krasnoyarsk', | |
535 '32': 'Asia/Omsk', | |
536 '33': 'Asia/Yekaterinburg', | |
537 '34': 'Asia/Yekaterinburg', | |
538 '35': 'Asia/Yekaterinburg', | |
539 '36': 'Asia/Anadyr', | |
540 '37': 'Europe/Moscow', | |
541 '38': 'Europe/Volgograd', | |
542 '39': 'Asia/Krasnoyarsk', | |
543 '40': 'Asia/Yekaterinburg', | |
544 '41': 'Europe/Moscow', | |
545 '42': 'Europe/Moscow', | |
546 '43': 'Europe/Moscow', | |
547 '44': 'Asia/Magadan', | |
548 '45': 'Europe/Samara', | |
549 '46': 'Europe/Samara', | |
550 '47': 'Europe/Moscow', | |
551 '48': 'Europe/Moscow', | |
552 '49': 'Europe/Moscow', | |
553 '50': 'Asia/Yekaterinburg', | |
554 '51': 'Europe/Moscow', | |
555 '52': 'Europe/Moscow', | |
556 '53': 'Asia/Novosibirsk', | |
557 '54': 'Asia/Omsk', | |
558 '55': 'Europe/Samara', | |
559 '56': 'Europe/Moscow', | |
560 '57': 'Europe/Samara', | |
561 '58': 'Asia/Yekaterinburg', | |
562 '59': 'Asia/Vladivostok', | |
563 '60': 'Europe/Kaliningrad', | |
564 '61': 'Europe/Volgograd', | |
565 '62': 'Europe/Moscow', | |
566 '63': 'Asia/Yakutsk', | |
567 '64': 'Asia/Sakhalin', | |
568 '65': 'Europe/Samara', | |
569 '66': 'Europe/Moscow', | |
570 '67': 'Europe/Samara', | |
571 '68': 'Europe/Volgograd', | |
572 '69': 'Europe/Moscow', | |
573 '70': 'Europe/Volgograd', | |
574 '71': 'Asia/Yekaterinburg', | |
575 '72': 'Europe/Moscow', | |
576 '73': 'Europe/Samara', | |
577 '74': 'Asia/Krasnoyarsk', | |
578 '75': 'Asia/Novosibirsk', | |
579 '76': 'Europe/Moscow', | |
580 '77': 'Europe/Moscow', | |
581 '78': 'Asia/Yekaterinburg', | |
582 '79': 'Asia/Irkutsk', | |
583 '80': 'Asia/Yekaterinburg', | |
584 '81': 'Europe/Samara', | |
585 '82': 'Asia/Irkutsk', | |
586 '83': 'Europe/Moscow', | |
587 '84': 'Europe/Volgograd', | |
588 '85': 'Europe/Moscow', | |
589 '86': 'Europe/Moscow', | |
590 '87': 'Asia/Novosibirsk', | |
591 '88': 'Europe/Moscow', | |
592 '89': 'Asia/Vladivostok' | |
593 }, | |
594 'RW': 'Africa/Kigali', | |
595 'SA': 'Asia/Riyadh', | |
596 'SB': 'Pacific/Guadalcanal', | |
597 'SC': 'Indian/Mahe', | |
598 'SD': 'Africa/Khartoum', | |
599 'SE': 'Europe/Stockholm', | |
600 'SG': 'Asia/Singapore', | |
601 'SH': 'Atlantic/St_Helena', | |
602 'SI': 'Europe/Ljubljana', | |
603 'SJ': 'Arctic/Longyearbyen', | |
604 'SK': 'Europe/Bratislava', | |
605 'SL': 'Africa/Freetown', | |
606 'SM': 'Europe/San_Marino', | |
607 'SN': 'Africa/Dakar', | |
608 'SO': 'Africa/Mogadishu', | |
609 'SR': 'America/Paramaribo', | |
610 'SS': 'Africa/Juba', | |
611 'ST': 'Africa/Sao_Tome', | |
612 'SV': 'America/El_Salvador', | |
613 'SX': 'America/Curacao', | |
614 'SY': 'Asia/Damascus', | |
615 'SZ': 'Africa/Mbabane', | |
616 'TC': 'America/Grand_Turk', | |
617 'TD': 'Africa/Ndjamena', | |
618 'TF': 'Indian/Kerguelen', | |
619 'TG': 'Africa/Lome', | |
620 'TH': 'Asia/Bangkok', | |
621 'TJ': 'Asia/Dushanbe', | |
622 'TK': 'Pacific/Fakaofo', | |
623 'TL': 'Asia/Dili', | |
624 'TM': 'Asia/Ashgabat', | |
625 'TN': 'Africa/Tunis', | |
626 'TO': 'Pacific/Tongatapu', | |
627 'TR': 'Asia/Istanbul', | |
628 'TT': 'America/Port_of_Spain', | |
629 'TV': 'Pacific/Funafuti', | |
630 'TW': 'Asia/Taipei', | |
631 'TZ': 'Africa/Dar_es_Salaam', | |
632 'UA': { | |
633 '01': 'Europe/Kiev', | |
634 '02': 'Europe/Kiev', | |
635 '03': 'Europe/Uzhgorod', | |
636 '04': 'Europe/Zaporozhye', | |
637 '05': 'Europe/Zaporozhye', | |
638 '06': 'Europe/Uzhgorod', | |
639 '07': 'Europe/Zaporozhye', | |
640 '08': 'Europe/Simferopol', | |
641 '09': 'Europe/Kiev', | |
642 '10': 'Europe/Zaporozhye', | |
643 '11': 'Europe/Simferopol', | |
644 '13': 'Europe/Kiev', | |
645 '14': 'Europe/Zaporozhye', | |
646 '15': 'Europe/Uzhgorod', | |
647 '16': 'Europe/Zaporozhye', | |
648 '17': 'Europe/Simferopol', | |
649 '18': 'Europe/Zaporozhye', | |
650 '19': 'Europe/Kiev', | |
651 '20': 'Europe/Simferopol', | |
652 '21': 'Europe/Kiev', | |
653 '22': 'Europe/Uzhgorod', | |
654 '23': 'Europe/Kiev', | |
655 '24': 'Europe/Uzhgorod', | |
656 '25': 'Europe/Uzhgorod', | |
657 '26': 'Europe/Zaporozhye', | |
658 '27': 'Europe/Kiev' | |
659 }, | |
660 'UG': 'Africa/Kampala', | |
661 'US': { | |
662 'AK': 'America/Anchorage', | |
663 'AL': 'America/Chicago', | |
664 'AR': 'America/Chicago', | |
665 'AZ': 'America/Phoenix', | |
666 'CA': 'America/Los_Angeles', | |
667 'CO': 'America/Denver', | |
668 'CT': 'America/New_York', | |
669 'DC': 'America/New_York', | |
670 'DE': 'America/New_York', | |
671 'FL': 'America/New_York', | |
672 'GA': 'America/New_York', | |
673 'HI': 'Pacific/Honolulu', | |
674 'IA': 'America/Chicago', | |
675 'ID': 'America/Denver', | |
676 'IL': 'America/Chicago', | |
677 'IN': 'America/Indianapolis', | |
678 'KS': 'America/Chicago', | |
679 'KY': 'America/New_York', | |
680 'LA': 'America/Chicago', | |
681 'MA': 'America/New_York', | |
682 'MD': 'America/New_York', | |
683 'ME': 'America/New_York', | |
684 'MI': 'America/New_York', | |
685 'MN': 'America/Chicago', | |
686 'MO': 'America/Chicago', | |
687 'MS': 'America/Chicago', | |
688 'MT': 'America/Denver', | |
689 'NC': 'America/New_York', | |
690 'ND': 'America/Chicago', | |
691 'NE': 'America/Chicago', | |
692 'NH': 'America/New_York', | |
693 'NJ': 'America/New_York', | |
694 'NM': 'America/Denver', | |
695 'NV': 'America/Los_Angeles', | |
696 'NY': 'America/New_York', | |
697 'OH': 'America/New_York', | |
698 'OK': 'America/Chicago', | |
699 'OR': 'America/Los_Angeles', | |
700 'PA': 'America/New_York', | |
701 'RI': 'America/New_York', | |
702 'SC': 'America/New_York', | |
703 'SD': 'America/Chicago', | |
704 'TN': 'America/Chicago', | |
705 'TX': 'America/Chicago', | |
706 'UT': 'America/Denver', | |
707 'VA': 'America/New_York', | |
708 'VT': 'America/New_York', | |
709 'WA': 'America/Los_Angeles', | |
710 'WI': 'America/Chicago', | |
711 'WV': 'America/New_York', | |
712 'WY': 'America/Denver' | |
713 }, | |
714 'UY': 'America/Montevideo', | |
715 'UZ': { | |
716 '01': 'Asia/Tashkent', | |
717 '02': 'Asia/Samarkand', | |
718 '03': 'Asia/Tashkent', | |
719 '06': 'Asia/Tashkent', | |
720 '07': 'Asia/Samarkand', | |
721 '08': 'Asia/Samarkand', | |
722 '09': 'Asia/Samarkand', | |
723 '10': 'Asia/Samarkand', | |
724 '12': 'Asia/Samarkand', | |
725 '13': 'Asia/Tashkent', | |
726 '14': 'Asia/Tashkent' | |
727 }, | |
728 'VA': 'Europe/Vatican', | |
729 'VC': 'America/St_Vincent', | |
730 'VE': 'America/Caracas', | |
731 'VG': 'America/Tortola', | |
732 'VI': 'America/St_Thomas', | |
733 'VN': 'Asia/Phnom_Penh', | |
734 'VU': 'Pacific/Efate', | |
735 'WF': 'Pacific/Wallis', | |
736 'WS': 'Pacific/Samoa', | |
737 'YE': 'Asia/Aden', | |
738 'YT': 'Indian/Mayotte', | |
739 'YU': 'Europe/Belgrade', | |
740 'ZA': 'Africa/Johannesburg', | |
741 'ZM': 'Africa/Lusaka', | |
742 'ZW': 'Africa/Harare' | |
743 } | |
744 | |
745 | |
746 def time_zone_by_country_and_region(country_code, region_name=None): | |
747 if country_code not in _country: | |
748 return '' | |
749 | |
750 if not region_name or region_name == '00': | |
751 region_name = None | |
752 | |
753 timezones = _country[country_code] | |
754 if isinstance(timezones, str): | |
755 return timezones | |
756 | |
757 if not region_name: | |
758 return '' | |
759 | |
760 return timezones.get(region_name) | |
OLD | NEW |