你如何扩展Python知道的时区列表



如何让 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始终包含两个值。您应该在 Python 中安装 pytz 包以获得一般时区支持(由于时区信息会定期更改,它不是标准库的一部分,但需要单独下载/安装)。

然后,您可以将pytz.all_timezones中的任何元素用作时区 - 可以使用pytz.timezone(name_of_timezone)构造时区。

相关内容

  • 没有找到相关文章

最新更新