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

时间:2015-01-26 23:32:55

标签: python time timezone

如何让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?

1 个答案:

答案 0 :(得分:3)

time.tzname始终包含两个值。您应该在Python中安装pytz一般时区支持包(因为时区信息会定期更改,但它不是标准库的一部分,但需要单独下载/安装)。

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