Необходимо написать функцию date_range, которая возвращает список дат за определенный период период
Необходимо написать функцию date_range, которая возвращает список дат за период от start_date до end_date. Даты должны вводиться в формате YYYY-MM-DD. В случае неверного формата или при start_date > end_date должен возвращаться пустой список.
На данный момент написать код:
from datetime import datetime, timedelta
start_date=input('Введите начальную дату в формате YYYY-MM-DD: ')
end_date=input('Введите дату окончания в формате YYYY-MM-DD: ')
def date_range():
start_dt=datetime.strptime(start_date,'%Y-%m-%d')
end_dt=datetime.strptime(end_date,'%Y-%m-%d')
days=[]
while start_dt<=end_dt:
start_dt+=timedelta(days=1)
print_datetime=datetime.strftime(start_dt,'%Y-%m-%d')
days.append(print_datetime)
#print(print_datetime)
return(days)
date_range()
Введите начальную дату в формате YYYY-MM-DD: 2018-01-01
Введите дату окончания в формате YYYY-MM-DD: 2018-01-04
Данный код возвращает следующее:
['2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05']
Подскажите логику и как изменить, чтобы стартовая и конечная даты попали в список, спасибо.