Skip to content

Instantly share code, notes, and snippets.

@chuongmep
Created September 24, 2025 09:01
Show Gist options
  • Select an option

  • Save chuongmep/672a5227794ad3d2c8a4c9fbcba1258d to your computer and use it in GitHub Desktop.

Select an option

Save chuongmep/672a5227794ad3d2c8a4c9fbcba1258d to your computer and use it in GitHub Desktop.
# 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