In many management applications, you only have to consider workdays, and Saturdays and Sundays won't matter. You are not working during those days, so from a work point of view, they don't exist.
So when computing days included in a given timespan for a project management or work-related application, you can ignore those days.
We want to grab the list of days between two dates as far as they are working days:
def workdays(d, end, excluded=(6, 7)): days = [] while d.date() < end.date(): if d.isoweekday() not in excluded: days.append(d) d += datetime.timedelta(days=1) return days
For example, if it's March 22nd, 2018, which is a Thursday, and I want to know the working days up to the next Monday (which is March 26th), I can easily ask for workdays
:
>>> workdays(datetime.datetime(2018, 3, 22), datetime.datetime(2018, 3, 26))
[datetime.datetime(2018, 3, 22, 0, 0),
datetime.datetime(2018, 3, 23, 0, 0)]
So we know that two...