Мені потрібно відняти робочі дні з поточної дати.
На даний момент у мене є якийсь код, який завжди повинен працювати в останній робочий день. Отже, це може бути сьогодні, якщо ми з понеділка по п’ятницю, але якщо це субота чи неділя, то мені потрібно повернути його на п’ятницю перед вихідними. На даний момент у мене є досить незграбний код для цього:
lastBusDay = datetime.datetime.today()
if datetime.date.weekday(lastBusDay) == 5: #if it's Saturday
lastBusDay = lastBusDay - datetime.timedelta(days = 1) #then make it Friday
elif datetime.date.weekday(lastBusDay) == 6: #if it's Sunday
lastBusDay = lastBusDay - datetime.timedelta(days = 2); #then make it Friday
Чи є кращий спосіб?
Чи можу я сказати timedelta працювати в будні, а не в календарні дні, наприклад?