“datetime.datetime”对象的描述符“date”不适用于“int”对象

‘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

类将
,yearmonth作为day参数。

请注意,所有参数都是必需的,并且必须在以下范围内:

  • MINYEAR<= 年份 <=MAXYEAR
  • 1 <= 月 <= 12
  • 1 <= day <= 给定月份和年份中的天数

如果参数超出指定范围,则ValueError引发 a。

datedatetime模块导入类

您还可以datedatetime模块中导入类。

主程序
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模块。

接下来的两个调用打印datetimedate类。

模块是类和方法的集合。

如果需要指定小时、分钟和秒,请使用该类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类。