时间数据 'May 10 2021' 与格式“%m %d %Y”不匹配

time data 'May 10 2021' does not match format '%m %d %Y'

我在打印从字符串生成的格式化时间对象时遇到问题

这是我的代码:

date_time_str = 'May 10 2021'
date_time_obj = datetime. strptime(date_time_str, '%m %d %Y')
print("The type of the date is now", type(date_time_obj))

This is the error:
ValueError: time data 'May 10 2021' does not match format '%m %d %Y'

根据 This link,Month 格式的一个月需要使用 %B ,[=13= 格式的一个月] 格式 ('Apr','Jun') , 使用 %b.

您使用的是 %m,它用于数字。

以下面的作品为例:

import time
import datetime
from time import strptime
print("hello world")
date_time_str = 'May 10 2021'
date_time_obj = strptime(date_time_str, '%B %d %Y')
print("The type of the date is now", date_time_obj)

您还可以使用 dateutil 包中的日期时间解析器和模糊解析,这在解析非标准日期时间格式或从文本解析日期时非常有用:

from dateutil import parser as dps

>>> a = 'Today is 11th of June 2021'
>>> d = dps.parse(a, fuzzy=True)
>>> d
Out[5]: datetime.datetime(2021, 6, 11, 0, 0)

>>> b = 'May 10, 2021'
>>> c = dps.parse(b, fuzzy=True)
>>> c
Out[8]: datetime.datetime(2021, 5, 10, 0, 0)