我一直在尝试将apache日志中的日期格式转换为Python3中的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()),但出现了同样的问题。
有人能帮帮我吗?
发布于 2020-08-21 17:39:11
这是因为parse()方法期望日期的字符串格式为:25/Jan/2000 14:00:01。您需要在年份后将:替换为空格。这样做是可行的:
Text = "25/Jan/2000:14:00:01"
Date = parse(Text.replace(":", " ", 1))
Date = Date.isoformat()
print(Date)https://stackoverflow.com/questions/54564340
复制相似问题