将str转换为日期python

将str转换为日期python,python,Python,我有一个小问题,我知道如何将str转换为date,但是使用这种格式“1月1日星期一”,我无法转换字符串 我试过: datetime_str = 'Monday January 1' datetime_object = datetime.strptime(datetime_str, '%A %B %d') 但是输出是:1900-01-01 00:00:00 我尝试了很多解决方案,但都没有效果…日期和月份设置正确。您可以通过以下方式自己提供正确的年份: datetime\u str='1月1日星期

我有一个小问题,我知道如何将str转换为date,但是使用这种格式
“1月1日星期一”
,我无法转换字符串

我试过:

datetime_str = 'Monday January 1'
datetime_object = datetime.strptime(datetime_str, '%A %B %d')
但是输出是:
1900-01-01 00:00:00


我尝试了很多解决方案,但都没有效果…

日期和月份设置正确。您可以通过以下方式自己提供正确的年份:

datetime\u str='1月1日星期一'
datetime_object=datetime.strtime(datetime_str,“%A%B%d”)
datetime\u对象=datetime\u对象。替换(年份=2021)

或者您也应该给出年份字符串

datetime_str = 'Monday January 1 2021'
datetime_object = datetime.datetime.strptime(datetime_str, '%A %B %d %Y')

这个输出是正确的,您从未提供过一年,您希望Python做什么?选择最近一年的1月1日是星期一?您的预期输出是什么?这没有意义-2021年1月1日是星期五,而不是星期一。例如,如果我尝试这样做:
date=“1990年1月1日”
datef=datetime.strtime(date,'%B%d,%Y')
输出是
1900-01-01 00:00:00
,我不知道why@AlanCUZON那代码行得通。有什么问题吗?@AlanCUZON它给出了
1990
,而不是
1900
。同样的,输入实际上是无效的(2021-1-1是一个星期五)<代码>%A似乎被忽略编辑错误,无法提供错误的一周天数!只要给出2021年1月1日就足够了!