‘datetime.datetime’ 对象的描述符 ‘date’ 不适用于 ‘int’ 对象
Descriptor ‘date’ for ‘datetime.datetime’ objects doesn’t apply to a ‘int’ object
当我们错误地尝试使用该类时,会出现 Python“TypeError:‘datetime.datetime’对象的描述符‘date’不适用于‘int’对象”
date
。
要解决该错误,请导入datetime
模块并将该类用作
datetime.date(2025, 11, 24)
.
下面是错误如何发生的示例。
主程序
import datetime # ⛔️ TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'int' object d = datetime.datetime.date(2025, 11, 21)
我们错误地使用了date
示例中的类。
该类date
在模块中直接可用datetime
。
主程序
import datetime d = datetime.date(2025, 11, 21) print(d) # 👉️ 2025-11-21
datetime.date
类将,year
和month
作为day
参数。
请注意,所有参数都是必需的,并且必须在以下范围内:
MINYEAR
<= 年份 <=MAXYEAR
- 1 <= 月 <= 12
- 1 <= day <= 给定月份和年份中的天数
如果参数超出指定范围,则ValueError
引发 a。
date
从datetime
模块导入类
您还可以date
从datetime
模块中导入类。
主程序
from datetime import date d = date(2025, 11, 21) print(d) # 👉️ 2025-11-21
我们没有导入整个datetime
模块,而是只导入了date
类。
这应该是您的首选方法,因为它使您的代码更易于阅读。
例如,当我们使用诸如 之类的导入时
import datetime
,很难看出datetime
文件中正在使用模块中的哪些类或方法。datetime
模块中有一个类也很混乱datetime
。
主程序
import datetime # 👇️ <module 'datetime' from '/usr/lib/python3.11/datetime.py'> print(datetime) # 👇️ <class 'datetime.datetime'> print(datetime.datetime) # 👇️ <class 'datetime.date'> print(datetime.date)
第一个print()调用打印
datetime
模块。
接下来的两个调用打印datetime
和date
类。
模块是类和方法的集合。
如果需要指定小时、分钟和秒,请使用该类datetime
。
主程序
from datetime import datetime d = datetime(2024, 11, 24, 9, 30, 0) print(d) # 👉️ 2024-11-24 09:30:00
date
如果您决定直接从模块导入类datetime
,请确保不要date
在代码中声明变量,因为那样会覆盖date
类。