ValueError:解析日期时时间数据与格式不匹配

时间:2019-02-14 15:13:04

标签: python date datetime time format

当我尝试将字符串解析为日期时间时,我会这样做(之前已导入日期时间):

fecha_2 = datetime.strptime('22/01/2019 17:00', '%d/%m/%y %H:%M')

但是,我收到此错误

  

ValueError:时间数据'22 / 01/2019 17:00'与格式'%d /%m /%y%H:%M'不匹配

有人知道为什么吗?

3 个答案:

答案 0 :(得分:1)

y应该大写。在here

中找到的Python文档中对此进行了引用

这很好

fecha_2 = datetime.strptime('22/01/2019 17:00', '%d/%m/%Y %H:%M')

答案 1 :(得分:1)

您需要使用大写字母Y表示4位数字的年份(小写的y表示2位数字的年份,例如19)。所以:

>>> fecha_2 = datetime.strptime('22/01/2019 17:00', '%d/%m/%Y %H:%M')
>>> fecha_2
datetime.datetime(2019, 1, 22, 17, 0)

strptime docs

答案 2 :(得分:0)

以上是正确的。但是,为避免此类错误,可以使用dateutil.parser,它可以自动猜测正确的格式字符串。您可以通过pip install python-dateutil

进行安装
>>> from dateutil import parser
>>> parser.parse("2018-06-19 11:21:13.311")
datetime.datetime(2018, 6, 19, 11, 21, 13, 311000)