类型错误创建日期对象
问题描述:
我试图创建一个整数对象datetime.date
的时候,这是我的代码:类型错误创建日期对象
datetime.date(2011, 1, 1)
它给我这个错误:
TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'
答
如果你做到以下几点,它会整齐地工作:
>>> import datetime
>>> datetime.date(2011,1,1)
datetime.date(2011, 1, 1)
但是,如果你这样做
从更改:
from datetime import datetime
然后
datetime.date(2011,1,1)
你实际上调用方法是datetime.datetime.date(2011,1,1)
,将失败:
>>> datetime.datetime.date(2011,1,1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'
答
只要使用适当的import
和你设置:
>>> from datetime import date
>>> today = date.today()
>>> today
datetime.date(2016, 3, 4)
>>> date(2016, 3, 4)
datetime.date(2016, 3, 4)
答
的错误可能是由于您import statement
。
from datetime import datetime
要:
import datetime
答
>>> from datetime import datetime
>>> date = datetime(year=2011,month=1,day=1)
>>> print date
2011-01-01 00:00:00
>>>
正式文件:datetime
Objects
答
答案的基础上,非常上面的慷慨捐助。
问题是,日期时间库包括一个日期时间类,这对于不熟悉的人有时令人困惑。
包裹起来,如果你这样做:
import datetime
datetime.date(2011, 1, 1)
你
>>> datetime.date(2011, 1, 1)
由于您使用的日期类的日期时间库。
datetime.datetime.date(2011, 1, 1)
和:但是,如果你这样做
from datetime import datetime
datetime.date(2011, 1, 1)
你,因为你(不经意间)使用DateTime类的日期时间库,这相当于将得到
>>>TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'
日期时间库的日期时间类没有日期方法
提示:你是在从'datetime import datetime'或'i mport datetime'? (我猜的是前...) –
'>>> import datetime >>> datetime.date(2011,1,1) datetime。日期(2011,1,1)'没问题,我不明白。如果你从'datetime import datetime'做',你实际上调用'datetime.datetime.date(2011,1,1)',这会失败。 –
嗨非常感谢。问题是我从datetime导入日期时间。所以datetime.date很好,但datetime.datetime.date显然不是。 thanx再次 –