Найти общее количество рабочих дней между двумя днями, исключая праздничные дни - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть две даты, например:

import datetime
start_date = datetime.datetime.today().date()
end_date = start_date + datetime.timedelta(days=30)

Теперь, учитывая, что у меня выходной tomorrow, как узнать общее количество рабочих дней. Рабочие дни - дни, исключая saturday and sunday.

Спасибо.

Ответы [ 2 ]

1 голос
/ 24 апреля 2019

Использование модуля datetime.

Ex:

import datetime
start_date = datetime.datetime.today().date()
end_day = 30

bDays = sum(1 for day in range(1, end_day + 1) if (start_date + datetime.timedelta(days=day)).weekday() not in [5, 6] )    
print(bDays)

Выход:

22
0 голосов
/ 24 апреля 2019

Можете ли вы попробовать следующее:

import datetime
import numpy as np

start_date = datetime.datetime.today().date()
end_date = start_date + datetime.timedelta(days=30)
holidays = [start_date + datetime.timedelta(days=1)]

print(np.busday_count(start_date, end_date, holidays=holidays))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...