Datetime est un module qui permet de gérer les dates, heures et datetimes (qui sont tous des types de données). Cela signifie qu'il datetime
s'agit à la fois d'un module de niveau supérieur et d'un type dans ce module. Ceci est déroutant.
Votre erreur est probablement basée sur la dénomination confuse du module et sur ce que vous ou un module que vous utilisez avez déjà importé.
>>> 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)
Mais, si vous importez 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)
Je suppose que vous ou l' un des modules que vous utilisez a importé comme ceci:
from datetime import datetime
.
Pour python 3.3
la source
import datetime
pose toujours des problèmes, donc je suis en faveur d'une solution qui utilisefrom datetime import datetime
Tu devrais utiliser
Ou changer
à
la source
Vous devez vraiment importer le module dans son propre alias .
Ce qui précède présente les avantages suivants par rapport aux autres solutions:
my_datetime
au lieu dedate
réduit la confusion car il y a déjà undate
dans le module datetime (datetime.date
).datetime
) ne s'observent pas.la source
Si vous avez utilisé:
Ensuite, écrivez simplement le code comme suit:
Mais si vous avez utilisé:
alors vous seul pouvez écrire:
la source
J'ai trouvé que c'était beaucoup plus facile
la source
Je rencontre la même erreur, peut-être que vous avez déjà importé le module en utilisant uniquement
import datetime
pour changerform datetime import datetime
uniquementimport datetime
. Cela a fonctionné pour moi après l'avoir changé.la source
la source