Необходимо написать функцию 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']

Подскажите логику и как изменить, чтобы стартовая и конечная даты попали в список, спасибо.


Ответы (0 шт):