Как определить ближайшую дату по дню недели python
Сегодня 21.09 Понедельник. След. занятие 22.09 (Вторник). Задача состоит в том, что бы получить дату ближайшего вторника (22.09)
Ответы (1 шт):
Автор решения: Tr1nks
→ Ссылка
На скороую руку набросал так:
import datetime
WEEKDAYS = ('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday')
def next_closest(from_date, search_day):
if isinstance(search_day, str):
search_day = WEEKDAYS.index(search_day.lower())
from_day = from_date.weekday()
different_days = search_day - from_day if from_day < search_day else 7 - from_day + search_day
return from_date + datetime.timedelta(days=different_days)
print(next_closest(datetime.datetime.strptime('21-09-2020','%d-%m-%Y'),'tuesday'))
сильно не тестировал, но должно работать