Я получаю количество дней до следующего «платежного цикла» (к примеру), который начинается на nth
день месяца:Как я рассчитывать только в будние дни с timedelta в питоне
from dateutil.relativedelta import relativedelta
dt = datetime.utcnow() + relativedelta(months=1,day=schedule.cycle_start)
days_till_next_cycle = dt - datetime.utcnow()
Где schedule.cycle_start
будет что-то вроде 2
во второй день месяца.
Это работает ... Но:
Как найти число рабочих дней в этом timedelta
.
Я взглянул на https://pypi.python.org/pypi/BusinessHours/ и не нашел никакой документации.
Я также видел это: Business days in Python, который связал меня со ссылкой выше и катил мой собственный. С тех пор прошло еще 4 года, и я надеялся, что может быть более простой способ?
Хороший ответ! Btw, 'rrule's также имеют [метод подсчета] (http://labix.org/python-dateutil#head-cf004ee9a75592797e076752b2a889c10f445418). – unutbu
Очень круто! Если я хочу рассчитать только «Мо», «Ту», «Т», «Фр», я могу просто оставить «мы» из кортежа? И это просто сработает? (Если, например, бизнес не был открыт по средам?) – Johnston
спасибо, что указали способ count() –