我得到了以下错误:

输入对象的datetime。Datetime没有Datetime属性

在下面一行:

date = datetime.datetime(int(year), int(month), 1)

有人知道这个错误的原因吗?

我导入datetime from datetime import datetime如果有帮助

谢谢


当前回答

import time
import datetime
from datetime import date,timedelta

必须从datetime导入datetime。

其他回答

问题是你在使用标签

from datetime

我有同样的问题,你需要这样使用它

import datetime

对于python 3.3

from datetime import datetime, timedelta
futuredate = datetime.now() + timedelta(days=10)

我遇到了同样的错误,也许你已经通过只使用import datetime导入了模块,所以从datetime导入datetime改为只导入datetime。我把它改回来后,它对我有用。

你应该使用

date = datetime(int(year), int(month), 1)

或改变

from datetime import datetime

to

import datetime

Datetime是一个允许处理日期、时间和datetimes(所有这些都是数据类型)的模块。这意味着datetime既是顶级模块,也是该模块中的类型。这很令人困惑。

您的错误可能是基于模块的令人困惑的命名,并且您或您所使用的模块已经导入了。

>>> import datetime
>>> datetime
<module 'datetime' from '/usr/lib/python2.6/lib-dynload/datetime.so'>
>>> datetime.datetime(2001,5,1)
datetime.datetime(2001, 5, 1, 0, 0)

但是,如果你导入datetime.datetime:

>>> from datetime import datetime
>>> datetime
<type 'datetime.datetime'>
>>> datetime.datetime(2001,5,1) # You shouldn't expect this to work 
                                # as you imported the type, not the module
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
>>> datetime(2001,5,1)
datetime.datetime(2001, 5, 1, 0, 0)

我怀疑你或者你正在使用的某个模块已经像这样导入了: 从datetime导入datetime。