Converting date and time from String format to Python datetime object: ValueError: time data '... p.m.' does not match format '... %p'
Converting date and time from String format to Python datetime object: ValueError: time data '... p.m.' does not match format '... %p'
我有以下字符串格式的日期和时间:
dateTime = '21-03-2015 12:20 p.m.'
我想将它转换成 Python 日期时间对象。我正在做类似下面的事情:
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'
只是似乎没有明白我做错了什么。任何解决方案将不胜感激。
根据文档,%p
仅支持 AM
、PM
、am
或 pm
格式,因此 a.m.
、a m
等是不支持的格式。现在问题出在您尝试的日期格式上,如果您无法更改日期格式,则可以使用:
import datetime
d = '21-03-2015 12:20 p.m.'
d = d.replace(".", "") #Substituting the periods with ""
dateTimeObj = datetime.datetime.strptime(d, '%d-%m-%Y %I:%M %p')
问题在于:p.m.
,与 %p
不匹配。
如果您检查 https://docs.python.org/2/library/datetime.html,您会发现唯一可接受的值是:am, pm, AM, PM
.
因此,要解决此问题,您必须更改输入字符串以使用不含句点的 pm
。
我有以下字符串格式的日期和时间:
dateTime = '21-03-2015 12:20 p.m.'
我想将它转换成 Python 日期时间对象。我正在做类似下面的事情:
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'
只是似乎没有明白我做错了什么。任何解决方案将不胜感激。
根据文档,%p
仅支持 AM
、PM
、am
或 pm
格式,因此 a.m.
、a m
等是不支持的格式。现在问题出在您尝试的日期格式上,如果您无法更改日期格式,则可以使用:
import datetime
d = '21-03-2015 12:20 p.m.'
d = d.replace(".", "") #Substituting the periods with ""
dateTimeObj = datetime.datetime.strptime(d, '%d-%m-%Y %I:%M %p')
问题在于:p.m.
,与 %p
不匹配。
如果您检查 https://docs.python.org/2/library/datetime.html,您会发现唯一可接受的值是:am, pm, AM, PM
.
因此,要解决此问题,您必须更改输入字符串以使用不含句点的 pm
。