""" Timezone information for the dateutil parser All credit to https://github.com/prefrontal/dateutil-parser-timezones """ from dateutil.tz import gettz def assemble_timezones(): """ Assembles a dictionary of timezone abbreviations and values :return: Dictionary of abbreviation keys and timezone values """ timezones = {} timezones['ACDT'] = gettz('Australia/Darwin') # Australian Central Daylight Savings Time (UTC+10:30) timezones['ACST'] = gettz('Australia/Darwin') # Australian Central Standard Time (UTC+09:30) timezones['ACT'] = gettz('Brazil/Acre') # Acre Time (UTC−05) timezones['ADT'] = gettz('America/Halifax') # Atlantic Daylight Time (UTC−03) timezones['AEDT'] = gettz('Australia/Sydney') # Australian Eastern Daylight Savings Time (UTC+11) timezones['AEST'] = gettz('Australia/Sydney') # Australian Eastern Standard Time (UTC+10) timezones['AFT'] = gettz('Asia/Kabul') # Afghanistan Time (UTC+04:30) timezones['AKDT'] = gettz('America/Juneau') # Alaska Daylight Time (UTC−08) timezones['AKST'] = gettz('America/Juneau') # Alaska Standard Time (UTC−09) timezones['AMST'] = gettz('America/Manaus') # Amazon Summer Time (Brazil)[1] (UTC−03) timezones['AMT'] = gettz('America/Manaus') # Amazon Time (Brazil)[2] (UTC−04) timezones['ART'] = gettz('America/Cordoba') # Argentina Time (UTC−03) timezones['AST'] = gettz('Asia/Riyadh') # Arabia Standard Time (UTC+03) timezones['AWST'] = gettz('Australia/Perth') # Australian Western Standard Time (UTC+08) timezones['AZOST'] = gettz('Atlantic/Azores') # Azores Summer Time (UTC±00) timezones['AZOT'] = gettz('Atlantic/Azores') # Azores Standard Time (UTC−01) timezones['AZT'] = gettz('Asia/Baku') # Azerbaijan Time (UTC+04) timezones['BDT'] = gettz('Asia/Brunei') # Brunei Time (UTC+08) timezones['BIOT'] = gettz('Etc/GMT+6') # British Indian Ocean Time (UTC+06) timezones['BIT'] = gettz('Pacific/Funafuti') # Baker Island Time (UTC−12) timezones['BOT'] = gettz('America/La_Paz') # Bolivia Time (UTC−04) timezones['BRST'] = gettz('America/Sao_Paulo') # Brasilia Summer Time (UTC−02) timezones['BRT'] = gettz('America/Sao_Paulo') # Brasilia Time (UTC−03) timezones['BST'] = gettz('Asia/Dhaka') # Bangladesh Standard Time (UTC+06) timezones['BTT'] = gettz('Asia/Thimphu') # Bhutan Time (UTC+06) timezones['CAT'] = gettz('Africa/Harare') # Central Africa Time (UTC+02) timezones['CCT'] = gettz('Indian/Cocos') # Cocos Islands Time (UTC+06:30) timezones['CDT'] = gettz('America/Chicago') # Central Daylight Time (North America) (UTC−05) timezones['CEST'] = gettz('Europe/Berlin') # Central European Summer Time (Cf. HAEC) (UTC+02) timezones['CET'] = gettz('Europe/Berlin') # Central European Time (UTC+01) timezones['CHADT'] = gettz('Pacific/Chatham') # Chatham Daylight Time (UTC+13:45) timezones['CHAST'] = gettz('Pacific/Chatham') # Chatham Standard Time (UTC+12:45) timezones['CHOST'] = gettz('Asia/Choibalsan') # Choibalsan Summer Time (UTC+09) timezones['CHOT'] = gettz('Asia/Choibalsan') # Choibalsan Standard Time (UTC+08) timezones['CHST'] = gettz('Pacific/Guam') # Chamorro Standard Time (UTC+10) timezones['CHUT'] = gettz('Pacific/Chuuk') # Chuuk Time (UTC+10) timezones['CIST'] = gettz('Etc/GMT-8') # Clipperton Island Standard Time (UTC−08) timezones['CIT'] = gettz('Asia/Makassar') # Central Indonesia Time (UTC+08) timezones['CKT'] = gettz('Pacific/Rarotonga') # Cook Island Time (UTC−10) timezones['CLST'] = gettz('America/Santiago') # Chile Summer Time (UTC−03) timezones['CLT'] = gettz('America/Santiago') # Chile Standard Time (UTC−04) timezones['COST'] = gettz('America/Bogota') # Colombia Summer Time (UTC−04) timezones['COT'] = gettz('America/Bogota') # Colombia Time (UTC−05) timezones['CST'] = gettz('America/Chicago') # Central Standard Time (North America) (UTC−06) timezones['CT'] = gettz('Asia/Chongqing') # China time (UTC+08) timezones['CVT'] = gettz('Atlantic/Cape_Verde') # Cape Verde Time (UTC−01) timezones['CXT'] = gettz('Indian/Christmas') # Christmas Island Time (UTC+07) timezones['DAVT'] = gettz('Antarctica/Davis') # Davis Time (UTC+07) timezones['DDUT'] = gettz('Antarctica/DumontDUrville') # Dumont d'Urville Time (UTC+10) timezones['DFT'] = gettz('Europe/Berlin') # AIX equivalent of Central European Time (UTC+01) timezones['EASST'] = gettz('Chile/EasterIsland') # Easter Island Summer Time (UTC−05) timezones['EAST'] = gettz('Chile/EasterIsland') # Easter Island Standard Time (UTC−06) timezones['EAT'] = gettz('Africa/Mogadishu') # East Africa Time (UTC+03) timezones['ECT'] = gettz('America/Guayaquil') # Ecuador Time (UTC−05) timezones['EDT'] = gettz('America/New_York') # Eastern Daylight Time (North America) (UTC−04) timezones['EEST'] = gettz('Europe/Bucharest') # Eastern European Summer Time (UTC+03) timezones['EET'] = gettz('Europe/Bucharest') # Eastern European Time (UTC+02) timezones['EGST'] = gettz('America/Scoresbysund') # Eastern Greenland Summer Time (UTC±00) timezones['EGT'] = gettz('America/Scoresbysund') # Eastern Greenland Time (UTC−01) timezones['EIT'] = gettz('Asia/Jayapura') # Eastern Indonesian Time (UTC+09) timezones['EST'] = gettz('America/New_York') # Eastern Standard Time (North America) (UTC−05) timezones['FET'] = gettz('Europe/Minsk') # Further-eastern European Time (UTC+03) timezones['FJT'] = gettz('Pacific/Fiji') # Fiji Time (UTC+12) timezones['FKST'] = gettz('Atlantic/Stanley') # Falkland Islands Summer Time (UTC−03) timezones['FKT'] = gettz('Atlantic/Stanley') # Falkland Islands Time (UTC−04) timezones['FNT'] = gettz('Brazil/DeNoronha') # Fernando de Noronha Time (UTC−02) timezones['GALT'] = gettz('Pacific/Galapagos') # Galapagos Time (UTC−06) timezones['GAMT'] = gettz('Pacific/Gambier') # Gambier Islands (UTC−09) timezones['GET'] = gettz('Asia/Tbilisi') # Georgia Standard Time (UTC+04) timezones['GFT'] = gettz('America/Cayenne') # French Guiana Time (UTC−03) timezones['GILT'] = gettz('Pacific/Tarawa') # Gilbert Island Time (UTC+12) timezones['GIT'] = gettz('Pacific/Gambier') # Gambier Island Time (UTC−09) timezones['GMT'] = gettz('GMT') # Greenwich Mean Time (UTC±00) timezones['GST'] = gettz('Asia/Muscat') # Gulf Standard Time (UTC+04) timezones['GYT'] = gettz('America/Guyana') # Guyana Time (UTC−04) timezones['HADT'] = gettz('Pacific/Honolulu') # Hawaii-Aleutian Daylight Time (UTC−09) timezones['HAEC'] = gettz('Europe/Paris') # Heure Avancée d'Europe Centrale (CEST) (UTC+02) timezones['HAST'] = gettz('Pacific/Honolulu') # Hawaii-Aleutian Standard Time (UTC−10) timezones['HKT'] = gettz('Asia/Hong_Kong') # Hong Kong Time (UTC+08) timezones['HMT'] = gettz('Indian/Kerguelen') # Heard and McDonald Islands Time (UTC+05) timezones['HOVST'] = gettz('Asia/Hovd') # Khovd Summer Time (UTC+08) timezones['HOVT'] = gettz('Asia/Hovd') # Khovd Standard Time (UTC+07) timezones['ICT'] = gettz('Asia/Ho_Chi_Minh') # Indochina Time (UTC+07) timezones['IDT'] = gettz('Asia/Jerusalem') # Israel Daylight Time (UTC+03) timezones['IOT'] = gettz('Etc/GMT+3') # Indian Ocean Time (UTC+03) timezones['IRDT'] = gettz('Asia/Tehran') # Iran Daylight Time (UTC+04:30) timezones['IRKT'] = gettz('Asia/Irkutsk') # Irkutsk Time (UTC+08) timezones['IRST'] = gettz('Asia/Tehran') # Iran Standard Time (UTC+03:30) timezones['IST'] = gettz('Asia/Kolkata') # Indian Standard Time (UTC+05:30) timezones['JST'] = gettz('Asia/Tokyo') # Japan Standard Time (UTC+09) timezones['KGT'] = gettz('Asia/Bishkek') # Kyrgyzstan time (UTC+06) timezones['KOST'] = gettz('Pacific/Kosrae') # Kosrae Time (UTC+11) timezones['KRAT'] = gettz('Asia/Krasnoyarsk') # Krasnoyarsk Time (UTC+07) timezones['KST'] = gettz('Asia/Seoul') # Korea Standard Time (UTC+09) timezones['LHST'] = gettz('Australia/Lord_Howe') # Lord Howe Standard Time (UTC+10:30) timezones['LINT'] = gettz('Pacific/Kiritimati') # Line Islands Time (UTC+14) timezones['MAGT'] = gettz('Asia/Magadan') # Magadan Time (UTC+12) timezones['MART'] = gettz('Pacific/Marquesas') # Marquesas Islands Time (UTC−09:30) timezones['MAWT'] = gettz('Antarctica/Mawson') # Mawson Station Time (UTC+05) timezones['MDT'] = gettz('America/Denver') # Mountain Daylight Time (North America) (UTC−06) timezones['MEST'] = gettz('Europe/Paris') # Middle European Summer Time Same zone as CEST (UTC+02) timezones['MET'] = gettz('Europe/Berlin') # Middle European Time Same zone as CET (UTC+01) timezones['MHT'] = gettz('Pacific/Kwajalein') # Marshall Islands (UTC+12) timezones['MIST'] = gettz('Antarctica/Macquarie') # Macquarie Island Station Time (UTC+11) timezones['MIT'] = gettz('Pacific/Marquesas') # Marquesas Islands Time (UTC−09:30) timezones['MMT'] = gettz('Asia/Rangoon') # Myanmar Standard Time (UTC+06:30) timezones['MSK'] = gettz('Europe/Moscow') # Moscow Time (UTC+03) timezones['MST'] = gettz('America/Denver') # Mountain Standard Time (North America) (UTC−07) timezones['MUT'] = gettz('Indian/Mauritius') # Mauritius Time (UTC+04) timezones['MVT'] = gettz('Indian/Maldives') # Maldives Time (UTC+05) timezones['MYT'] = gettz('Asia/Kuching') # Malaysia Time (UTC+08) timezones['NCT'] = gettz('Pacific/Noumea') # New Caledonia Time (UTC+11) timezones['NDT'] = gettz('Canada/Newfoundland') # Newfoundland Daylight Time (UTC−02:30) timezones['NFT'] = gettz('Pacific/Norfolk') # Norfolk Time (UTC+11) timezones['NPT'] = gettz('Asia/Kathmandu') # Nepal Time (UTC+05:45) timezones['NST'] = gettz('Canada/Newfoundland') # Newfoundland Standard Time (UTC−03:30) timezones['NT'] = gettz('Canada/Newfoundland') # Newfoundland Time (UTC−03:30) timezones['NUT'] = gettz('Pacific/Niue') # Niue Time (UTC−11) timezones['NZDT'] = gettz('Pacific/Auckland') # New Zealand Daylight Time (UTC+13) timezones['NZST'] = gettz('Pacific/Auckland') # New Zealand Standard Time (UTC+12) timezones['OMST'] = gettz('Asia/Omsk') # Omsk Time (UTC+06) timezones['ORAT'] = gettz('Asia/Oral') # Oral Time (UTC+05) timezones['PDT'] = gettz('America/Los_Angeles') # Pacific Daylight Time (North America) (UTC−07) timezones['PET'] = gettz('America/Lima') # Peru Time (UTC−05) timezones['PETT'] = gettz('Asia/Kamchatka') # Kamchatka Time (UTC+12) timezones['PGT'] = gettz('Pacific/Port_Moresby') # Papua New Guinea Time (UTC+10) timezones['PHOT'] = gettz('Pacific/Enderbury') # Phoenix Island Time (UTC+13) timezones['PKT'] = gettz('Asia/Karachi') # Pakistan Standard Time (UTC+05) timezones['PMDT'] = gettz('America/Miquelon') # Saint Pierre and Miquelon Daylight time (UTC−02) timezones['PMST'] = gettz('America/Miquelon') # Saint Pierre and Miquelon Standard Time (UTC−03) timezones['PONT'] = gettz('Pacific/Pohnpei') # Pohnpei Standard Time (UTC+11) timezones['PST'] = gettz('America/Los_Angeles') # Pacific Standard Time (North America) (UTC−08) timezones['PYST'] = gettz('America/Asuncion') # Paraguay Summer Time (South America)[7] (UTC−03) timezones['PYT'] = gettz('America/Asuncion') # Paraguay Time (South America)[8] (UTC−04) timezones['RET'] = gettz('Indian/Reunion') # Réunion Time (UTC+04) timezones['ROTT'] = gettz('Antarctica/Rothera') # Rothera Research Station Time (UTC−03) timezones['SAKT'] = gettz('Asia/Vladivostok') # Sakhalin Island time (UTC+11) timezones['SAMT'] = gettz('Europe/Samara') # Samara Time (UTC+04) timezones['SAST'] = gettz('Africa/Johannesburg') # South African Standard Time (UTC+02) timezones['SBT'] = gettz('Pacific/Guadalcanal') # Solomon Islands Time (UTC+11) timezones['SCT'] = gettz('Indian/Mahe') # Seychelles Time (UTC+04) timezones['SGT'] = gettz('Asia/Singapore') # Singapore Time (UTC+08) timezones['SLST'] = gettz('Asia/Colombo') # Sri Lanka Standard Time (UTC+05:30) timezones['SRET'] = gettz('Asia/Srednekolymsk') # Srednekolymsk Time (UTC+11) timezones['SRT'] = gettz('America/Paramaribo') # Suriname Time (UTC−03) timezones['SST'] = gettz('Asia/Singapore') # Singapore Standard Time (UTC+08) timezones['SYOT'] = gettz('Antarctica/Syowa') # Showa Station Time (UTC+03) timezones['TAHT'] = gettz('Pacific/Tahiti') # Tahiti Time (UTC−10) timezones['TFT'] = gettz('Indian/Kerguelen') # Indian/Kerguelen (UTC+05) timezones['THA'] = gettz('Asia/Bangkok') # Thailand Standard Time (UTC+07) timezones['TJT'] = gettz('Asia/Dushanbe') # Tajikistan Time (UTC+05) timezones['TKT'] = gettz('Pacific/Fakaofo') # Tokelau Time (UTC+13) timezones['TLT'] = gettz('Asia/Dili') # Timor Leste Time (UTC+09) timezones['TMT'] = gettz('Asia/Ashgabat') # Turkmenistan Time (UTC+05) timezones['TOT'] = gettz('Pacific/Tongatapu') # Tonga Time (UTC+13) timezones['TVT'] = gettz('Pacific/Funafuti') # Tuvalu Time (UTC+12) timezones['ULAST'] = gettz('Asia/Ulan_Bator') # Ulaanbaatar Summer Time (UTC+09) timezones['ULAT'] = gettz('Asia/Ulan_Bator') # Ulaanbaatar Standard Time (UTC+08) timezones['USZ1'] = gettz('Europe/Kaliningrad') # Kaliningrad Time (UTC+02) timezones['UTC'] = gettz('UTC') # Coordinated Universal Time (UTC±00) timezones['UYST'] = gettz('America/Montevideo') # Uruguay Summer Time (UTC−02) timezones['UYT'] = gettz('America/Montevideo') # Uruguay Standard Time (UTC−03) timezones['UZT'] = gettz('Asia/Tashkent') # Uzbekistan Time (UTC+05) timezones['VET'] = gettz('America/Caracas') # Venezuelan Standard Time (UTC−04) timezones['VLAT'] = gettz('Asia/Vladivostok') # Vladivostok Time (UTC+10) timezones['VOLT'] = gettz('Europe/Volgograd') # Volgograd Time (UTC+04) timezones['VOST'] = gettz('Antarctica/Vostok') # Vostok Station Time (UTC+06) timezones['VUT'] = gettz('Pacific/Efate') # Vanuatu Time (UTC+11) timezones['WAKT'] = gettz('Pacific/Wake') # Wake Island Time (UTC+12) timezones['WAST'] = gettz('Africa/Lagos') # West Africa Summer Time (UTC+02) timezones['WAT'] = gettz('Africa/Lagos') # West Africa Time (UTC+01) timezones['WEST'] = gettz('Europe/London') # Western European Summer Time (UTC+01) timezones['WET'] = gettz('Europe/London') # Western European Time (UTC±00) timezones['WIT'] = gettz('Asia/Jakarta') # Western Indonesian Time (UTC+07) timezones['WST'] = gettz('Australia/Perth') # Western Standard Time (UTC+08) timezones['YAKT'] = gettz('Asia/Yakutsk') # Yakutsk Time (UTC+09) timezones['YEKT'] = gettz('Asia/Yekaterinburg') # Yekaterinburg Time (UTC+05) return timezones