时间数据与指定的格式不匹配

时间:2014-07-05 12:41:01

标签: python

我正在尝试将以“DD MM YYYY”格式提供的字符串转换为日期时间对象。这是相同的代码:

from datetime import date, timedelta

s = "23 July 2001"
d = datetime.datetime.strptime(s, "%d %m %Y")

但是,我收到以下错误:

ValueError: time data '23 July 2001' does not match format '%d %m %Y'

怎么了?字符串中指定的格式是否与“%d%m%Y”指定的格式相同?

2 个答案:

答案 0 :(得分:1)

%m表示“月份为零填充十进制数”。

您的月份为July,因此您应该使用%B,即“月份作为语言环境的全名”。

参考:https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

答案 1 :(得分:0)

像behzad.nouri说的那样,使用d = datetime.datetime.strptime(s, "%d %B %Y")。 或者制作s = '23 07 2001' and d = datetime.datetime.strptime(s, "%d %m %Y")