我正在尝试将以“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”指定的格式相同?
答案 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")