在我正在开发的一个Python项目中,我希望能够获得一个与系统本地时区相对应的“人类可读的”时区名称,其格式为America/New嫒York,以显示给用户。我看到的每一段访问时区信息的代码都只返回一个数字偏移量(-0400)或一个字母代码(EDT),有时两者都返回。是否有一些Python库可以访问这些信息,或者如果没有,则将偏移量/字母代码转换为人类可读的名称?
如果有多个人类可读的名称对应于特定时区,可能的结果列表或其中任何一个都可以,如果没有人类可读的名称对应于当前时区,我将采取异常或None
或[]
或其他方式。
Tags:
http://pytz.sourceforge.net/可能有帮助。如果没有其他功能,您可以获取所有时区的列表,然后遍历,直到找到与偏移量匹配的时区。
有一个^{} module 返回与系统本地时区对应的
pytz
tzinfo对象:要回答标题中的问题(对于来自google的用户),可以使用
%Z%z
打印本地时区信息:它打印当前时区缩写和与本地时区对应的utc偏移量。
下面生成一个defaultdict映射时区偏移量(例如“-0400”)和通用地理时区名称(例如“美洲/纽约”)的缩写(例如“EDT”)。
请注意,时区缩写可以有vastly different meanings。例如,“EST”可以表示澳大利亚的东部夏季时间(UTC+10),也可以表示北美的东部标准时间(UTC-5)。
此外,对于使用夏令时标准时间的区域,偏移和缩写可能会更改。因此,保存静态dict可能无法一年365天提供正确的时区名称。
相关问题 更多 >
编程相关推荐