75 votes

Dépannage "le descripteur 'date' nécessite un objet 'datetime.datetime' mais a reçu un 'int'"

Dans mon code, je demande à l'utilisateur une date au format dd/mm/yyyy .

 currentdate = raw_input("Please enter todays date in the format dd/mm/yyyy: ")
day,month,year = currentdate.split('/')
today = datetime.date(int(year),int(month),int(day))

Cela renvoie l'erreur

TypeError : le descripteur 'date' requiert un objet 'datetime.datetime' mais a reçu un 'int'

si je supprime le int() je me retrouve avec la même erreur, mais il dit qu'il a reçu un 'str'

Qu'est-ce que je fais mal?

71voto

plaes Points 8535

Il semble que vous ayez importé le datetime.datetime au lieu de datetime . Cela devrait fonctionner cependant:

 import datetime
currentdate = raw_input("Please enter todays date in the format dd/mm/yyyy: ")
day,month,year = currentdate.split('/')
today = datetime.date(int(year),int(month),int(day))

..ou ca:

 from datetime import date
currentdate = raw_input("Please enter todays date in the format dd/mm/yyyy: ")
day,month,year = currentdate.split('/')
today = date(int(year),int(month),int(day))

14voto

Tim Richardson Points 307

si vous avez déjà

 from datetime import datetime

alors vous pouvez construire comme ceci:

 christmas = datetime(2013,12,25)

9voto

Jeanne Lane Points 142

Vous pouvez utiliser à la fois datetime et datetime.datetime. Écrivez les importations comme ceci :

 from datetime import datetime
import datetime as dt

time_1 = datetime.strptime('17:00:00', '%H:%M:%S')
time_1 = dt.time(time_1.hour, time_1.minute,  time_1.second)

7voto

larsmans Points 167484

Je peux reproduire l'erreur si je le fais

 from datetime import *

Il s'en va quand je le fais

 import datetime

Vérifiez donc vos importations.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X