J'essaie de créer un tableau de dates au format mmddyyyy. Les dates commenceront le jour en cours et se prolongeront ensuite dans deux semaines. Tout dépend donc de la date de début. Lorsque j'exécute mon code, j'obtiens une erreur qui indique:
Traceback (most recent call last):
File "timeTest.py", line 8, in <module>
day = datetime.timedelta(days=i)
AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'
Je ne sais pas pourquoi cela se produit car après avoir effectué une recherche en ligne, j'ai remarqué que les gens utilisent le "timedelta" de cette façon.
Voici mon code:
import time
from datetime import datetime, date, time, timedelta
dayDates = []
today = datetime.now()
dayDates.append(today.strftime("%m%d%Y"))
for i in range(0,14):
day = today + datetime.timedelta(days=i)
print day
import time
from datetime import datetime, date, time, timedelta
dayDates = []
today = datetime.now()
dayDates.append(today.strftime("%m%d%Y"))
for i in range(0,14):
day = today + datetime.timedelta(days=i)
print day
L'erreur que vous obtenez indique que datetime
n'a pas d'attribut timedelta
. Cela arrive, car vous avez importé de datetime
des choses spécifiques. Pour accéder à timedelta
maintenant vous tapez timedelta
au lieu de datetime.timedelta
.
import time
from datetime import datetime, date, time, timedelta
dayDates = []
today = datetime.now()
dayDates.append(today.strftime("%m%d%Y"))
for i in range(0,14):
day = today + timedelta(days=i)
print day
Comme ça, votre code devrait fonctionner correctement. Faites également plus attention aux messages d'erreur et essayez de les lire attentivement. Si vous vous concentrez suffisamment, vous pouvez souvent régler le problème en vous basant sur eux-mêmes.
Vous avez déjà importé timedelta
. Vous n'avez pas besoin d'y accéder via datetime.
import time
from datetime import datetime, date, time, timedelta
dayDates = []
today = datetime.now()
dayDates.append(today.strftime("%m%d%Y"))
for i in range(0,14):
day = today + timedelta(days=i)
print day
La méthode que vous souhaitez appeler est datetime.timedelta
, comme vu ici . datetime
est le module contenant timedelta
.
Si vous regardez votre ligne import
:
from datetime import datetime, date, time, timedelta
... vous verrez que vous importez la datetime
class depuis la datetime
module. Ainsi, lorsque vous appelez datetime.timedelta
, vous appelez en fait datetime.datetime.timedelta
, qui n'existe pas.