我想以一种可能的格式(%d。%m。%Y%H:%M或%d。%m。%Y%H:%M:%S或%d。%m。 %Y)到%Y-%m-%d%H:%M
目前,我正在使用以下代码:
newMessageDate = log.get('messageDate')
try:
newMessageDate = datetime.datetime.strptime(newMessageDate,'%d.%m.%Y %H:%M').strftime('%Y-%m-%d %H:%M')
except ValueError:
newMessageDate = datetime.datetime.strptime(newMessageDate,'%d.%m.%Y %H:%M:%S').strftime('%Y-%m-%d %H:%M:%S')
如果String位于%d。%m。%Y%H:%M或%d。%m。%Y%H:%M:%S中,则效果很好,但我不确定如何添加第三个格式。我尝试将其添加为例外,但从未触发。
我是在正确的轨道上还是有更好的方法来做到这一点?
谢谢
最佳答案
您可以列出可能的格式,然后一一尝试。
date_formats = ["%d.%m.%Y %H:%M", "%d.%m.%Y %H:%M:%S", "%d.%m.%Y", "%d.%m.%Y %H:%M"]
for date_fmt in date_formats:
try:
newMessageDate = datetime.datetime.strptime(newMessageDate, date_fmt).strftime('%Y-%m-%d %H:%M')
except ValueError:
continue
else:
break