【发布时间】:2015-09-13 16:09:43
【问题描述】:
我正在尝试将时间转换为纪元时间。我收到以下错误:
ValueError: time data '11/Jan/2014:08:33:48 -0800' does not match format '%d/%b/%Y:%H:%M:%S %Z'
import time
def epoch_time(epoch):
d = "11/Jan/2014:08:33:48 -0800"
p='%d/%b/%Y:%H:%M:%S %Z'
epoch = int(time.mktime(time.strptime(d,p)))
print epoch
我上面的代码有什么问题?
我的第二个问题是 os.environ[TZ]='UTC' 中的 TZ 定义在哪里?我在另一篇文章中找到了这个。
更新: 我的数据采用以下格式:11/Jan/2014:08:33:48 -0800 - 它带有 -8000 的时区信息。我不能修改数据,但需要修改代码。使用 Python 2.7.6
>>> from dateutil import parser
>>> dd = parser.parse('11/Jan/2014:08:33:48 -0800')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/dateutil/parser.py", line 1008, in parse
return DEFAULTPARSER.parse(timestr, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/dateutil/parser.py", line 395, in parse
raise ValueError("Unknown string format")
ValueError: Unknown string format
>>>
【问题讨论】:
-
你的 Python 的确切版本是什么?