Как доработать функцию
def generate_date():
date_data = []
day_delta = datetime.timedelta(days=1)
start_date = dateparser.parse('2020-03-01').date()
end_date = start_date + 30 * day_delta
for i in range((end_date - start_date).days):
date_result = (start_date + i * day_delta)
date_data.append(date_result)
return date_data
Есть такая функция которая генерирует 30 дней после определенной даты. Как можно доработать эту функция чтобы дата генерировалась с определенной даты до сегодняшнего дня ?
Ответы (2 шт):
Автор решения: Raharasomaha
→ Ссылка
Благодаря комментарию под вопросом я понял как это реализовать.
def generate_date():
date_data = []
day_delta = datetime.timedelta(days=1)
start_date = dateparser.parse('2020-03-01').date()
end_date = start_date + 30 * day_delta
for i in range((end_date - start_date).days):
date_result = (start_date + i * day_delta)
date_data.append(date_result)
return date_data
В это код на строчке end_date = start_date + 30 * day_delta надо поменять на end_date = datetime.date.today() в итоге будет генерироваться нужный диапазон дат.
Автор решения: D. Violet
→ Ссылка
from datetime import timedelta
import datetime
# с текущего дня + 30 дней
print('с текущего дня + 30 дней')
for i in range(0, 30):
print(i, (datetime.datetime.now() + timedelta(days=i)).strftime('%d.%m.%Y'))
# с произвольной даты + 30 дней
print('с произвольной даты + 30 дней')
for i in range(30):
print(i, (datetime.date(2020, 1, 1) + timedelta(days=i)).strftime('%d.%m.%Y'))
# с произвольной даты до сегодняшнего дня
print('с произвольной даты до сегодняшнего дня')
for i in range((datetime.datetime.now().date() - datetime.date(2020, 4, 1)).days + 1):
print(i, (datetime.date(2020, 4, 1) + timedelta(days=i)).strftime('%d.%m.%Y'))
>>>
с произвольной даты до сегодняшнего дня
0 01.04.2020
1 02.04.2020
2 03.04.2020
3 04.04.2020
4 05.04.2020
5 06.04.2020
6 07.04.2020
7 08.04.2020
8 09.04.2020
9 10.04.2020
10 11.04.2020
11 12.04.2020
12 13.04.2020
13 14.04.2020
14 15.04.2020
15 16.04.2020
16 17.04.2020
17 18.04.2020
18 19.04.2020
19 20.04.2020
20 21.04.2020
21 22.04.2020
22 23.04.2020
23 24.04.2020