像IST
可能意味着以下之一:
- 亚洲/加尔各答(印度)
- 亚洲/特拉维夫(以色列)
- 欧洲/都柏林(爱尔兰)
我一直在寻找的是一种在['Asia/Kolkata', 'Asia/Tel_Aviv', 'Europe/Dublin']
作为输入时获得输出的方法'IST'
。
我希望有一种方法可以使用标准模块本身。可以用新zoneinfo
模块完成吗?
受到这个答案的启发,我做到了
from datetime import datetime as dt
import zoneinfo
s = zoneinfo.available_timezones()
d = dict()
for tz in s:
t = z.ZoneInfo(tz).tzname(dt.utcnow())
if t not in d:
d[t] = [tz]
else:
d[t].append(tz)
但这是给'PDT'作为
'PDT': ['America/Ensenada',
'America/Santa_Isabel',
'Mexico/BajaNorte',
'US/Pacific-New',
'US/Pacific',
'America/Vancouver',
'PST8PDT',
'America/Tijuana',
'America/Los_Angeles',
和“PST”一样
'PST': ['Asia/Manila'],
但是“America/Los_Angeles”在某些时候不会也属于“PST”(不是现在,而是稍后)。
我显然错过了一些东西,但无法理解它是什么..
Can there be a way to get the list of possible timezones from a time zone abbreviation?