Почему Дельта времени Python datetime не найдена?
Я пытаюсь сделать массив дат в формате ммддгггг. Даты начнутся в текущий день, а затем уйдут на две недели в будущее. Так что все зависит от даты начала. Когда я запускаю свой код, я получаю сообщение об ошибке:
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'
Я не уверен, почему это происходит, потому что после поиска в Интернете, я заметил, что люди с 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 + datetime.timedelta(days=i)
print day
3 ответов
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
ошибка, которую вы получаете, говорит, что datetime
нет атрибута timedelta
. Это происходит, потому что вы импортировали из datetime
конкретные вещи. Для того, чтобы получить доступ timedelta
Теперь вы типа timedelta
вместо 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
таким образом, ваш код должен работать правильно. Кроме того, обратите более пристальное внимание на сообщения об ошибках и постарайтесь внимательно их прочитать. Если вы достаточно сосредоточены, вы часто можете разобраться в проблеме, основываясь на них самостоятельно.
вы уже импортировали timedelta
. Вам не нужно обращаться к нему через 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
метод, который вы хотите назвать это datetime.timedelta
, видел как здесь. datetime
модуль, содержащий timedelta
.
если вы посмотрите на свой import
строку:
from datetime import datetime, date, time, timedelta
...вы увидите, что импортируете datetime
класс С datetime
модуль. Итак, когда вы звоните datetime.timedelta
, вы на самом деле вызов datetime.datetime.timedelta
, которого не существует.