【发布时间】:2011-03-30 04:27:21
【问题描述】:
在我正在处理的 Python 项目中,我希望能够获得与系统本地时区相对应的 America/New_York 形式的“人类可读”时区名称, 显示给用户。我见过的每段访问时区信息的代码都只返回一个数字偏移量(-0400)或一个字母代码(EDT),或者有时两者都返回。是否有一些 Python 库可以访问此信息,或者如果没有,将偏移量/字母代码转换为人类可读的名称?
如果有多个与特定时区对应的人类可读名称,则可能的结果列表或其中任何一个都可以,如果没有与当前时区相对应的人类可读名称,我' 将采取异常或None 或[] 或其他任何方式。
澄清:我不记得我最初写这个问题时的确切想法,但我认为我真正想要的是一种将时区变成人类可读的方法姓名。我不认为这个问题是为了专注于如何专门获取系统本地时区,但对于我想到的特定用例,恰好本地时区是我想要的名称。我不会编辑有关本地时区的内容,因为有两个方面的答案。
【问题讨论】:
-
我认为你确实需要小心你如何使用它。举个例子:当我们在 2010 年 10 月在欧洲/罗马从 CEST 切换到 CET 时,
2010-10-31T02:30:00CEST和2010-10-31T02:30:00CET都被记录了,一个相当于2010-10-31T00:30:00UTC,另一个相当于2010-10-31T01:30:00UTC。2010-10-31T02:30:00 Europe/Rome会模棱两可。