python – 从UTC偏移量获取时区名称
发布时间:2020-12-20 11:48:53 所属栏目:Python 来源:网络整理
导读:如何从 Python中的给定UTC偏移量中获取时区名称? 例如,我有, "GMT+0530" 我想得到, "Asia/Calcutta" 如果有多个匹配项,则结果应为时区名称列表. 解决方法 可能存在零个或多个(多个)时区,其对应于单个UTC偏移.要查找现在具有给定UTC偏移的这??些时区: #!/us
如何从
Python中的给定UTC偏移量中获取时区名称?
例如,我有, "GMT+0530" 我想得到, "Asia/Calcutta" 如果有多个匹配项,则结果应为时区名称列表. 解决方法
可能存在零个或多个(多个)时区,其对应于单个UTC偏移.要查找现在具有给定UTC偏移的这??些时区:
#!/usr/bin/env python from datetime import datetime,timedelta import pytz # $pip install pytz utc_offset = timedelta(hours=5,minutes=30) # +5:30 now = datetime.now(pytz.utc) # current time print({tz.zone for tz in map(pytz.timezone,pytz.all_timezones_set) if now.astimezone(tz).utcoffset() == utc_offset}) 产量 set(['Asia/Colombo','Asia/Calcutta','Asia/Kolkata']) 如果您想要考虑历史数据(根据当前时区规则在某个日期具有/将具有给定utc偏移的时区): #!/usr/bin/env python from datetime import datetime,minutes=30) # +5:30 names = set() now = datetime.now(pytz.utc) for tz in map(pytz.timezone,pytz.all_timezones_set): dt = now.astimezone(tz) tzinfos = getattr(tz,'_tzinfos',[(dt.utcoffset(),dt.dst(),dt.tzname())]) if any(off == utc_offset for off,_,_ in tzinfos): names.add(tz.zone) print("n".join(sorted(names))) 产量 Asia/Calcutta Asia/Colombo Asia/Dacca Asia/Dhaka Asia/Karachi Asia/Kathmandu Asia/Katmandu Asia/Kolkata Asia/Thimbu Asia/Thimphu (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |