Python 时间数据';2021年5月10日&x27;与格式不匹配';%m%d%Y';

Python 时间数据';2021年5月10日&x27;与格式不匹配';%m%d%Y';,python,datetime,python-datetime,Python,Datetime,Python Datetime,打印由字符串生成的格式化时间对象时遇到问题 这是我的代码: 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

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

这是我的代码:

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'
根据链接,对于
month
格式的月份,您需要使用
%B
,对于
Mth
格式的月份('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)
根据链接,对于
month
格式的月份,您需要使用
%B
,对于
Mth
格式的月份('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
包中的datetime解析器与模糊解析一起使用,这在解析非标准datetime格式或从文本解析日期时非常有用:

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)

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

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)

起始日期:%m-以零填充十进制数表示的月份。您希望%B-Month作为区域设置的全名。@alkasm它仍然提供此错误-时间数据“Jun 5 2021”与格式不匹配“%B%d%Y”Jun不是区域设置的全名。在该表的正下方,您将看到%b表示缩写名称。起始日期:%m-月份为零填充十进制数。您希望%B-Month作为区域设置的全名。@alkasm它仍然提供此错误-时间数据“Jun 5 2021”与格式不匹配“%B%d%Y”Jun不是区域设置的全名。在该表的正下方,您将看到%b是缩写名称。它仍然提供此错误-时间数据“Jun 5 2021”与格式“%b%d%Y”不匹配@StarshipladDev@Shangx“Jun”是缩写的月份名称(英文)。如果你想解析缩写的月份名称,请使用
%b
@PM2Ring哈哈,我不应该用一个包含3个字母的月份的例子!我已经根据您的回复进行了编辑,谢谢you@Shangx如果这个问题解决了你的问题,你能用“标记”来回答吗?谢谢它仍然给我此错误-时间数据“Jun 5 2021”与格式“%B%d%Y”不匹配@StarshipladDev@Shangx“Jun”是缩写的月份名称(英文)。如果你想解析缩写的月份名称,请使用
%b
@PM2Ring哈哈,我不应该用一个包含3个字母的月份的例子!我已经根据您的回复进行了编辑,谢谢you@Shangx如果这个问题解决了你的问题,你能用“标记”来回答吗?非常感谢。