我一直在尝试将apache日志中的日期格式转换为Python 3中的ISO格式,但是我似乎无法使其正常工作。
如果我仅包括天,月和年,而不包括小时,分钟和秒,则可以使它正常工作。
Text = "25/Jan/2000:14:00:01"
Date = dateutil.parser.parse(Text)
Date = Date.isoformat()
print(Date)
# I receive the following error messages below
Traceback (most recent call last):
File "Z:/Test.py", line 3, in <module>
Date = dateutil.parser.parse(Text)
File "Z:\Python\lib\site-packages\dateutil\parser\_parser.py", line 1356, in parse
return DEFAULTPARSER.parse(timestr, **kwargs)
File "Z:\Python\lib\site-packages\dateutil\parser\_parser.py", line 648, in parse
raise ValueError("Unknown string format:", timestr)
ValueError: ('Unknown string format:', '25/Jan/2000:14:00:01'
我也尝试使用datetime模块(datetime.datetime.strftime()),但出现相同的问题。
有人可以帮我吗?
答案 0 :(得分:0)
这是因为parse()方法期望日期的字符串格式具有以下形式:25/Jan/2000 14:00:01
。下一年后,您需要用空格替换:
。
这样做是可行的:
Text = "25/Jan/2000:14:00:01"
Date = parse(Text.replace(":", " ", 1))
Date = Date.isoformat()
print(Date)