Datetime to moduł, który umożliwia obsługę dat, godzin i czasów (z których wszystkie są typami danych). Oznacza to, że datetime
jest to zarówno moduł najwyższego poziomu, jak i typ w tym module. To jest mylące.
Twój błąd prawdopodobnie wynika z mylącego nazewnictwa modułu i tego, co Ty lub moduł, którego używasz, już zaimportowałeś.
>>> 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)
Ale jeśli zaimportujesz 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)
Podejrzewam, że albo jeden z modułów jesteś wykorzystaniem importowanych tak:
from datetime import datetime
.