10000年的datetime.strptime转换失败

问题描述

下面的python代码在12-31-9999之前可以正常工作。

一旦我将日期更改为01-01-10000,就会引发错误(请参阅所附的屏幕截图)

from datetime import datetime
import time
 
          
myNewDate = "12-31-9999"
            
myNewDateTime = datetime.strptime(myNewDate,'%m-%d-%Y').date()
print (myNewDateTime)

以下是屏幕截图:

enter image description here

解决方法

根据docs,仅支持4位数字的年份。

年份受1989 C标准限制。

,

%Y表示4位数字的年份,该模式不匹配最后一个0。您无法使用python datetime处理超过9999年的年份:https://docs.python.org/3/library/datetime.html#datetime.MAXYEAR

,

感谢您的回复 看到错误时,我也这么想。 我还是专家,因为我仍然是python的新秀。