我有以下String格式的日期和时间:
dateTime = '21 -03-2015 12:20 p.m。'
我想将其转换为Python datetime对象。我正在做类似下面的事情:
dateTimeObj = datetime.datetime.strptime(dateTime, '%d-%m-%Y %I:%M %p')
但我一直收到以下错误:
ValueError: time data '21-03-2015 12:20 p.m.' does not match format '%d-%m-%Y %I:%M %p'
似乎没有得到我做错的事。任何解决方案都将不胜感激。
答案 0 :(得分:2)
问题在于:p.m.
,与%p
不匹配。
如果您选中https://docs.python.org/2/library/datetime.html,则会看到唯一可接受的值为:am, pm, AM, PM
。
因此,要解决此问题,您必须将输入字符串更改为使用pm
而不使用句点。
答案 1 :(得分:1)
根据文档,%p
仅支持AM
,PM
,am
或pm
格式a.m.
,{{1} }等不支持格式。现在问题在于您正在尝试的日期格式,如果您无法更改日期格式,则可以使用:
a m