Python报错 | TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'
报错信息
使用python创建一个datetime.data类的时候,报如下错误:
TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'
错误原因
报错翻译过来是:
提示" TypeError:描述符'date'需要一个'datetime.datetime'对象,但收到了一个'int'
您可能导入了:
from datetime import datetime
也就是说,名称datetime
将引用表示日期和时间的类datetime
(从datetime
模块导入,该模块令人讨厌的是,具有相同的名称)。
然后,date
是一种检索datetime
对象的日期部分的方法:
In [4]: my_date = datetime(2015,5,7,20,02,00)
In [5]: my_date.date()
In [6]: datetime.date(2015, 5, 7)
因此,如果使用一个或多个整数参数进行调用,则会报错:
In [7]: datetime.date(999)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-55d65eb13663> in <module>()
----> 1 datetime.date(999)
TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'
在这种情况下,datetime.date
是datetime
对象的方法,并且不知道如何处理999
。以下是等效的:
In [8]: datetime.date(my_date)
Out[8]: datetime.date(2015, 5, 7)
In [9]: my_date.date()
Out[9]: datetime.date(2015, 5, 7)
如果导入datetime
模块,则可以执行所需操作,因为date
也是该模块中的类的名称(用于表示没有小时,分钟等的日期):
In [1]: import datetime
In [2]: datetime.date(2015, 5, 7) # OK, returns a date object
解决方案
1、使用
from datetime import date
2、使用
import datetime
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)