Получить список дат между последним воскресеньем недели и сегодняшним днем - PullRequest
0 голосов
/ 04 ноября 2019

Я хочу, чтобы список содержал все даты между последним воскресеньем недели и сегодняшним днем, скажем, сегодня 05/11/2019, последнее воскресенье 03/11/2019, я хочу перечислить все даты между 03/11/2019и сегодня 05/11/2019

Мне удалось получить последнее воскресенье недели с кодом ниже

from datetime import datetime, timedelta, date

today = date.today()
offset = (today.weekday() - 6) % 7
print("Offset", offset)
last_sunday = today - timedelta(days=offset)
print(last_sunday) 

Я хочу получить вывод

['03/11/2019', '04/11/2019', '05/11/2019']

Ответы [ 3 ]

1 голос
/ 04 ноября 2019
from datetime import date, timedelta

sdate = date(2019,11,3)
today = date.today()
diff = today - sdate
for i in range(diff.days+1):
    day = sdate + timedelta(days=i)
    print(day)
1 голос
/ 04 ноября 2019

Решение с указанным форматом вывода.

from datetime import datetime, timdelta 
current_date = datetime.now()-timedelta(days=1)
datetime_list = [current_date-timedelta(days=offset) for offset in range((current_date.weekday()+1)%7+1)]
datetime_list.reverse()
datetime_list = [ '{0:02d}/{1:02d}/{2:}'.format(i.day,i.month,i.year) for i in datetime_list]
print(datetime_list)
1 голос
/ 04 ноября 2019

Здесь. Надеюсь, это поможет вам!

from datetime import datetime, timedelta, date

def daterange(date1, date2):
    for n in range(int ((date2 - date1).days)+1):
        yield date1 + timedelta(n)

today = date.today()
offset = (today.weekday() - 6) % 7
print("Offset", offset)
last_sunday = today - timedelta(days=offset)
print(last_sunday)

for dt in daterange(last_sunday, today):
    print(dt.strftime("%Y-%m-%d"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...