如何让 Python 能够理解更多时区?
>>> import time
>>> date='Wed Dec 31 20:37:36 EST 1969'
>>> pattern='%a %b %d %H:%M:%S %Z %Y'
>>> seconds_from_eopch = int(time.mktime(time.strptime(date, date_pattern)))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/_strptime.py", line 454, in _strptime_time
return _strptime(data_string, format)[0]
File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data 'Wed Dec 31 20:37:36 EST 1969' does not match format '%a %b %d %H:%M:%S %Z %Y'
我发现 EST 被拒绝了;我的计算机唯一理解的时区是 tome.tzname 中列出的时区:
>>> time.tzname
('PST', 'PDT')
我天真地尝试将 EST 添加到列表中,但没有帮助。
如何“合法”添加 EST?
最佳答案
time.tzname
始终包含两个值。您应该安装pytz
Python 中一般时区支持的包(由于时区信息定期更改,它不是标准库的一部分,但需要单独下载/安装)。
然后,您可以使用 pytz.all_timezones 中的任何元素作为时区 - 可以使用 pytz.timezone(name_of_timezone) 构建。
关于python - 如何扩展 Python 识别的时区列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28160744/