Created
September 24, 2025 09:01
-
-
Save chuongmep/672a5227794ad3d2c8a4c9fbcba1258d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # print all tz_abbreviations from ptz | |
| from datetime import datetime | |
| from zoneinfo import ZoneInfo | |
| # get all tz_abbreviations from ptz | |
| from zoneinfo import available_timezones | |
| tz_abbreviations = {} | |
| utc_now = datetime.utcnow() | |
| for tz in sorted(available_timezones()): | |
| try: | |
| local_time = utc_now.replace(tzinfo=ZoneInfo("UTC")).astimezone(ZoneInfo(tz)) | |
| tz_abbreviations[tz] = local_time.strftime("%Z") | |
| except Exception: | |
| continue | |
| # tz_abbreviations | |
| tz_abbreviations = { | |
| "Africa/Abidjan": "GMT", | |
| "Africa/Accra": "GMT", | |
| "Africa/Addis_Ababa": "EAT", | |
| "Africa/Algiers": "CET", | |
| "Africa/Asmara": "EAT", | |
| "Africa/Bamako": "GMT", | |
| "Africa/Bangui": "WAT", | |
| "Africa/Banjul": "GMT", | |
| "Africa/Bissau": "GMT", | |
| "Africa/Blantyre": "CAT", | |
| "Africa/Brazzaville": "WAT", | |
| "Africa/Bujumbura": "CAT", | |
| "Africa/Cairo": "EEST", | |
| "Africa/Casablanca": "WAT", | |
| "Africa/Ceuta": "CEST", | |
| "Africa/Conakry": "GMT", | |
| "Africa/Dakar": "GMT", | |
| "Africa/Dar_es_Salaam": "EAT", | |
| "Africa/Djibouti": "EAT", | |
| "Africa/Douala": "WAT", | |
| "Africa/El_Aaiun": "WAT", | |
| "Africa/Freetown": "GMT", | |
| "Africa/Gaborone": "CAT", | |
| "Africa/Harare": "CAT", | |
| "Africa/Johannesburg": "SAST", | |
| "Africa/Juba": "CAT", | |
| "Africa/Kampala": "EAT", | |
| "Africa/Khartoum": "CAT", | |
| "Africa/Kigali": "CAT", | |
| "Africa/Kinshasa": "WAT", | |
| "Africa/Lagos": "WAT", | |
| "Africa/Libreville": "WAT", | |
| "Africa/Lome": "GMT", | |
| "Africa/Luanda": "WAT", | |
| "Africa/Lubumbashi": "CAT", | |
| "Africa/Lusaka": "CAT", | |
| "Africa/Malabo": "WAT", | |
| "Africa/Maputo": "CAT", | |
| "Africa/Maseru": "SAST", | |
| "Africa/Mbabane": "SAST", | |
| "Africa/Mogadishu": "EAT", | |
| "Africa/Monrovia": "GMT", | |
| "Africa/Nairobi": "EAT", | |
| "Africa/Ndjamena": "WAT", | |
| "Africa/Niamey": "WAT", | |
| "Africa/Nouakchott": "GMT", | |
| "Africa/Ouagadougou": "GMT", | |
| "Africa/Porto-Novo": "WAT", | |
| "Africa/Sao_Tome": "GMT", | |
| "Africa/Timbuktu": "GMT", | |
| "Africa/Tripoli": "EET", | |
| "Africa/Tunis": "CET", | |
| "Africa/Windhoek": "CAT", | |
| "America/Adak": "HDT", | |
| "America/Anchorage": "AKDT", | |
| "America/Anguilla": "AST", | |
| "America/Antigua": "AST", | |
| "America/Araguaina": "BRT", | |
| "America/Argentina/Buenos_Aires": "ART", | |
| "America/Argentina/Catamarca": "ART", | |
| "America/Argentina/Cordoba": "ART", | |
| "America/Argentina/Jujuy": "ART", | |
| "America/Argentina/La_Rioja": "ART", | |
| "America/Argentina/Mendoza": "ART", | |
| "America/Argentina/Rio_Gallegos": "ART", | |
| "America/Argentina/Salta": "ART", | |
| "America/Argentina/San_Juan": "ART", | |
| "America/Argentina/San_Luis": "ART", | |
| "America/Argentina/Tucuman": "ART", | |
| "America/Argentina/Ushuaia": "ART", | |
| "America/Aruba": "AST", | |
| "America/Asuncion": "PYT", | |
| "America/Atikokan": "EST", | |
| "America/Bahia": "BRT", | |
| "America/Bahia_Banderas": "CST", | |
| "America/Barbados": "AST", | |
| "America/Belem": "BRT", | |
| "America/Belize": "CST", | |
| "America/Blanc-Sablon": "AST", | |
| "America/Boa_Vista": "AMT", | |
| "America/Bogota": "COT", | |
| "America/Boise": "MDT", | |
| "America/Cambridge_Bay": "MDT", | |
| "America/Campo_Grande": "AMT", | |
| "America/Cancun": "EST", | |
| "America/Caracas": "VET", | |
| "America/Cayenne": "GFT", | |
| "America/Cayman": "EST", | |
| "America/Chicago": "CDT", | |
| "America/Chihuahua": "CST", | |
| "America/Ciudad_Juarez": "MDT", | |
| "America/Costa_Rica": "CST", | |
| "America/Coyhaique": "CLT", | |
| "America/Creston": "MST", | |
| "America/Cuiaba": "AMT", | |
| "America/Curacao": "AST", | |
| "America/Danmarkshavn": "GMT", | |
| "America/Dawson": "MST", | |
| "America/Dawson_Creek": "MST", | |
| "America/Denver": "MDT", | |
| "America/Detroit": "EDT", | |
| "America/Dominica": "AST", | |
| "America/Edmonton": "MDT", | |
| "America/Eirunepe": "ACT", | |
| "America/El_Salvador": "CST", | |
| "America/Fort_Nelson": "MST", | |
| "America/Fortaleza": "BRT", | |
| "America/Glace_Bay": "ADT", | |
| "America/Godthab": "WGST", | |
| "America/Goose_Bay": "ADT", | |
| "America/Grand_Turk": "EDT", | |
| "America/Grenada": "AST", | |
| "America/Guadeloupe": "AST", | |
| "America/Guatemala": "CST", | |
| "America/Guayaquil": "ECT", | |
| "America/Guyana": "GYT", | |
| "America/Halifax": "ADT", | |
| "America/Havana": "CDT", | |
| "America/Hermosillo": "MST", | |
| "America/Indiana/Indianapolis": "EDT", | |
| "America/Indiana/Knox": "CDT", | |
| "America/Indiana/Marengo": "EDT", | |
| "America/Indiana/Petersburg": "EDT", | |
| "America/Indiana/Tell_City": "CDT", | |
| "America/Indiana/Vevay": "EDT", | |
| "America/Indiana/Vincennes": "EDT", | |
| "America/Indiana/Winamac": "EDT", | |
| "America/Inuvik": "MDT", | |
| "America/Iqaluit": "EDT", | |
| "America/Jamaica": "EST", | |
| "America/Juneau": "AKDT", | |
| "America/Kentucky/Louisville": "EDT", | |
| "America/Kentucky/Monticello": "EDT", | |
| "America/Kralendijk": "AST", | |
| "America/La_Paz": "BOT", | |
| "America/Lima": "PET", | |
| "America/Los_Angeles": "PDT", | |
| "America/Lower_Princes": "AST", | |
| "America/Maceio": "BRT", | |
| "America/Managua": "CST", | |
| "America/Manaus": "AMT", | |
| "America/Marigot": "AST", | |
| "America/Martinique": "AST", | |
| "America/Matamoros": "CDT", | |
| "America/Mazatlan": "MST", | |
| "America/Menominee": "CDT", | |
| "America/Merida": "CST", | |
| "America/Metlakatla": "AKDT", | |
| "America/Mexico_City": "CST", | |
| "America/Miquelon": "PMDT", | |
| "America/Moncton": "ADT", | |
| "America/Monterrey": "CST", | |
| "America/Montevideo": "UYT", | |
| "America/Montreal": "EDT", | |
| "America/Montserrat": "AST", | |
| "America/Nassau": "EDT", | |
| "America/New_York": "EDT", | |
| "America/Nipigon": "EDT", | |
| "America/Nome": "AKDT", | |
| "America/Noronha": "FNT", | |
| "America/North_Dakota/Beulah": "CDT", | |
| "America/North_Dakota/Center": "CDT", | |
| "America/North_Dakota/New_Salem": "CDT", | |
| "America/Nuuk": "WGST", | |
| "America/Ojinaga": "CDT", | |
| "America/Panama": "EST", | |
| "America/Pangnirtung": "EDT", | |
| "America/Paramaribo": "SRT", | |
| "America/Phoenix": "MST", | |
| "America/Port-au-Prince": "EDT", | |
| "America/Port_of_Spain": "AST", | |
| "America/Porto_Velho": "AMT", | |
| "America/Puerto_Rico": "AST", | |
| "America/Punta_Arenas": "CLT", | |
| "America/Rainy_River": "CDT", | |
| "America/Rankin_Inlet": "CDT", | |
| "America/Recife": "BRT", | |
| "America/Regina": "CST", | |
| "America/Resolute": "CDT", | |
| "America/Rio_Branco": "ACT", | |
| "America/Santarem": "BRT", | |
| "America/Santiago": "CLT", | |
| "America/Santo_Domingo": "AST", | |
| "America/Sao_Paulo": "BRT", | |
| "America/Scoresbysund": "EGT", | |
| "America/Sitka": "AKDT", | |
| "America/St_Barthelemy": "AST", | |
| "America/St_Johns": "NDT", | |
| "America/St_Kitts": "AST", | |
| "America/St_Lucia": "AST", | |
| "America/St_Thomas": "AST", | |
| "America/St_Vincent": "AST", | |
| "America/Swift_Current": "CST", | |
| "America/Tegucigalpa": "CST", | |
| "America/Thule": "ADT", | |
| "America/Thunder_Bay": "EDT", | |
| "America/Tijuana": "PDT", | |
| "America/Toronto": "EDT", | |
| "America/Tortola": "AST", | |
| "America/Vancouver": "PDT", | |
| "America/Virgin": "AST", | |
| "America/Whitehorse": "MST", | |
| "America/Winnipeg": "CDT", | |
| "America/Yakutat": "AKDT", | |
| "America/Yellowknife": "MDT", | |
| "Antarctica/Casey": "AWST", | |
| "Antarctica/Davis": "DAVT", | |
| "Antarctica/DumontDUrville": "DDUT", | |
| "Antarctica/Macquarie": "AEST", | |
| "Antarctica/Mawson": "MAWT", | |
| "Antarctica/McMurdo": "NZST", | |
| "Antarctica/Palmer": "CLT", | |
| "Antarctica/Rothera": "ROTT", | |
| "Antarctica/South_Pole": "NZST", | |
| "Antarctica/Syowa": "SYOT", | |
| "Antarctica/Troll": "CEST", | |
| "Antarctica/Vostok": "VOST", | |
| "Arctic/Longyearbyen": "CEST", | |
| "Asia/Aden": "AST", | |
| "Asia/Almaty": "ALMT", | |
| "Asia/Amman": "JST", | |
| "Asia/Anadyr": "ANAT", | |
| "Asia/Aqtau": "AQTT", | |
| "Asia/Aqtobe": "AQTT", | |
| "Asia/Ashgabat": "TMT", | |
| "Asia/Atyrau": "AQTT", | |
| "Asia/Baghdad": "AST", | |
| "Asia/Bahrain": "AST", | |
| "Asia/Baku": "AZT", | |
| "Asia/Bangkok": "ICT", | |
| "Asia/Barnaul": "KRAT", | |
| "Asia/Beirut": "EEST", | |
| "Asia/Bishkek": "KGT", | |
| "Asia/Brunei": "BNT", | |
| "Asia/Calcutta": "IST", | |
| "Asia/Chita": "YAKT", | |
| "Asia/Choibalsan": "CHOT", | |
| "Asia/Chongqing": "CST", | |
| "Asia/Colombo": "IST", | |
| "Asia/Dacca": "BDT", | |
| "Asia/Damascus": "EEST", | |
| "Asia/Dhaka": "BDT", | |
| "Asia/Dili": "TLT", | |
| "Asia/Dubai": "GST", | |
| "Asia/Dushanbe": "TJT", | |
| "Asia/Famagusta": "EEST", | |
| "Asia/Gaza": "EEST", | |
| "Asia/Harbin": "CST", | |
| "Asia/Hebron": "EEST", | |
| "Asia/Ho_Chi_Minh": "ICT", | |
| "Asia/Hong_Kong": "HKT", | |
| "Asia/Hovd": "HOVT", | |
| "Asia/Irkutsk": "IRKT", | |
| "Asia/Istanbul": "TRT", | |
| "Asia/Jakarta": "WIB", | |
| "Asia/Jayapura": "WIT", | |
| "Asia/Jerusalem": "IDT", | |
| "Asia/Kabul": "AFT", | |
| "Asia/Kamchatka": "PETT", | |
| "Asia/Karachi": "PKT", | |
| "Asia/Kathmandu": "NPT", | |
| "Asia/Khandyga": "YAKT", | |
| "Asia/Kolkata": "IST", | |
| "Asia/Krasnoyarsk": "KRAT", | |
| "Asia/Kuala_Lumpur": "MYT", | |
| "Asia/Kuching": "MYT", | |
| "Asia/Kuwait": "AST", | |
| "Asia/Macao": "CST", | |
| "Asia/Magadan": "MAGT", | |
| "Asia/Makassar": "WITA", | |
| "Asia/Manila": "PST", | |
| "Asia/Muscat": "GST", | |
| "Asia/Nicosia": "EEST", | |
| "Asia/Novokuznetsk": "KRAT", | |
| "Asia/Novosibirsk": "NOVT", | |
| "Asia/Omsk": "OMST", | |
| "Asia/Oral": "ORAT", | |
| "Asia/Phnom_Penh": "ICT", | |
| "Asia/Pontianak": "WIB", | |
| "Asia/Pyongyang": "KST", | |
| "Asia/Qatar": "AST", | |
| "Asia/Qostanay": "QYZT", | |
| "Asia/Qyzylorda": "QYZT", | |
| "Asia/Rangoon": "MMT", | |
| "Asia/Riyadh": "AST", | |
| "Asia/Saigon": "ICT", | |
| "Asia/Sakhalin": "SAKT", | |
| "Asia/Samarkand": "UZT", | |
| "Asia/Seoul": "KST", | |
| "Asia/Shanghai": "CST", | |
| "Asia/Singapore": "SGT", | |
| "Asia/Srednekolymsk": "SRET", | |
| "Asia/Taipei": "CST", | |
| "Asia/Tashkent": "UZT", | |
| "Asia/Tbilisi": "GET", | |
| "Asia/Tehran": "IRST", | |
| "Asia/Tel_Aviv": "IDT", | |
| "Asia/Thimphu": "BTT", | |
| "Asia/Tokyo": "JST", | |
| "Asia/Tomsk": "TOMT", | |
| "Asia/Ulaanbaatar": "ULAT", | |
| "Asia/Urumqi": "XJT", | |
| "Asia/Ust-Nera": "VLAT", | |
| "Asia/Vientiane": "ICT", | |
| "Asia/Vladivostok": "VLAT", | |
| "Asia/Yakutsk": "YAKT", | |
| "Asia/Yangon": "MMT", | |
| "Asia/Yekaterinburg": "YEKT", | |
| "Asia/Yerevan": "AMT", | |
| "Atlantic/Azores": "AZOT", | |
| "Atlantic/Bermuda": "ADT", | |
| "Atlantic/Canary": "WEST", | |
| "Atlantic/Cape_Verde": "CVT", | |
| "Atlantic/Faroe": "WEST", | |
| "Atlantic/Madeira": "WEST", | |
| "Atlantic/Reykjavik": "GMT", | |
| "Atlantic/South_Georgia": "GST", | |
| "Atlantic/St_Helena": "GMT", | |
| "Atlantic/Stanley": "FKST", | |
| "Australia/Adelaide": "ACST", | |
| "Australia/Brisbane": "AEST", | |
| "Australia/Broken_Hill": "ACST", | |
| "Australia/Canberra": "AEST", | |
| "Australia/Darwin": "ACST", | |
| "Australia/Eucla": "ACWST", | |
| "Australia/Hobart": "AEST", | |
| "Australia/Lord_Howe": "LHST", | |
| "Australia/Melbourne": "AEST", | |
| "Australia/Perth": "AWST", | |
| "Australia/Sydney": "AEST", | |
| "Europe/Amsterdam": "CEST", | |
| "Europe/Andorra": "CEST", | |
| "Europe/Astrakhan": "AST", | |
| "Europe/Athens": "EEST", | |
| "Europe/Belgrade": "CEST", | |
| "Europe/Berlin": "CEST", | |
| "Europe/Bratislava": "CEST", | |
| "Europe/Brussels": "CEST", | |
| "Europe/Bucharest": "EEST", | |
| "Europe/Budapest": "CEST", | |
| "Europe/Busingen": "CEST", | |
| "Europe/Chisinau": "EEST", | |
| "Europe/Copenhagen": "CEST", | |
| "Europe/Dublin": "IST", | |
| "Europe/Gibraltar": "CEST", | |
| "Europe/Guernsey": "BST", | |
| "Europe/Helsinki": "EEST", | |
| "Europe/Isle_of_Man": "BST", | |
| "Europe/Istanbul": "TRT", | |
| "Europe/Jersey": "BST", | |
| "Europe/Kaliningrad": "EET", | |
| "Europe/Kiev": "EEST", | |
| "Europe/Kirov": "MSK", | |
| "Europe/Lisbon": "WEST", | |
| "Europe/Ljubljana": "CEST", | |
| "Europe/London": "BST", | |
| "Europe/Luxembourg": "CEST", | |
| "Europe/Madrid": "CEST", | |
| "Europe/Malta": "CEST", | |
| "Europe/Mariehamn": "EEST", | |
| "Europe/Minsk": "MSK", | |
| "Europe/Monaco": "CEST", | |
| "Europe/Moscow": "MSK", | |
| "Europe/Oslo": "CEST", | |
| "Europe/Paris": "CEST", | |
| "Europe/Podgorica": "CEST", | |
| "Europe/Prague": "CEST", | |
| "Europe/Riga": "EEST", | |
| "Europe/Rome": "CEST", | |
| "Europe/Samara": "SAMT", | |
| "Europe/San_Marino": "CEST", | |
| "Europe/Sarajevo": "CEST", | |
| "Europe/Saratov": "SART", | |
| "Europe/Simferopol": "MSK", | |
| "Europe/Skopje": "CEST", | |
| "Europe/Sofia": "EEST", | |
| "Europe/Stockholm": "CEST", | |
| "Europe/Tallinn": "EEST", | |
| "Europe/Tirane": "CEST", | |
| "Europe/Ulyanovsk": "ULAT", | |
| "Europe/Uzhgorod": "EEST", | |
| "Europe/Vaduz": "CEST", | |
| "Europe/Vatican": "CEST", | |
| "Europe/Vienna": "CEST", | |
| "Europe/Vilnius": "EEST", | |
| "Europe/Volgograd": "MSK", | |
| "Europe/Warsaw": "CEST", | |
| "Europe/Zagreb": "CEST", | |
| "Europe/Zaporozhye": "EEST", | |
| "Europe/Zurich": "CEST", | |
| "Indian/Antananarivo": "EAT", | |
| "Indian/Chagos": "IOT", | |
| "Indian/Christmas": "CXT", | |
| "Indian/Cocos": "CCT", | |
| "Indian/Comoro": "EAT", | |
| "Indian/Kerguelen": "TFT", | |
| "Indian/Mahe": "SCT", | |
| "Indian/Maldives": "MVT", | |
| "Indian/Mauritius": "MUT", | |
| "Indian/Mayotte": "EAT", | |
| "Indian/Reunion": "RET", | |
| "Pacific/Apia": "WST", | |
| "Pacific/Auckland": "NZST", | |
| "Pacific/Bougainville": "BST", | |
| "Pacific/Chatham": "CHAST", | |
| "Pacific/Chuuk": "CHUT", | |
| "Pacific/Easter": "EAST", | |
| "Pacific/Efate": "VUT", | |
| "Pacific/Fakaofo": "TKT", | |
| "Pacific/Fiji": "FJT", | |
| "Pacific/Funafuti": "TVT", | |
| "Pacific/Galapagos": "GALT", | |
| "Pacific/Gambier": "GAMT", | |
| "Pacific/Guadalcanal": "SBT", | |
| "Pacific/Guam": "ChST", | |
| "Pacific/Honolulu": "HST", | |
| "Pacific/Kiritimati": "LINT", | |
| "Pacific/Kosrae": "KOST", | |
| "Pacific/Kwajalein": "MHT", | |
| "Pacific/Majuro": "MHT", | |
| "Pacific/Marquesas": "MART", | |
| "Pacific/Midway": "SST", | |
| "Pacific/Nauru": "NRT", | |
| "Pacific/Niue": "NUT", | |
| "Pacific/Norfolk": "NFT", | |
| "Pacific/Noumea": "NCT", | |
| "Pacific/Pago_Pago": "SST", | |
| "Pacific/Palau": "PWT", | |
| "Pacific/Pitcairn": "PST", | |
| "Pacific/Pohnpei": "PONT", | |
| "Pacific/Port_Moresby": "PGT", | |
| "Pacific/Rarotonga": "CKT", | |
| "Pacific/Saipan": "ChST", | |
| "Pacific/Samoa": "SST", | |
| "Pacific/Tahiti": "TAHT", | |
| "Pacific/Tarawa": "GILT", | |
| "Pacific/Tongatapu": "TOT", | |
| "Pacific/Wake": "WAKT", | |
| "Pacific/Wallis": "WFT", | |
| "UTC": "UTC" | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment