Как эффективней рассчитать время работы с учетом выходных и праздников? Всем привет. Есть множество задач. Мне известна дата начала работы и дата окончания работы каждой задачи. На каждый тип задачи есть определенное ограничение по времени ее выполнения (несколько дней). Если задача выполнялась дольше выделенного времени, она считается просроченной. Возникла задача рассчитывать время просрочки с учетом выходных, региональных и корпоративных праздничных дней. То есть, нерабочие дни в просрочку не складываются. Как решение, в голову приходит только циклом, для каждого дня от даты начала до даты окончания работы проверять не является ли тек. день выходным. Задач может быть очень много и наверное глубоко зарытый цикл будет отнимать много времени. Может кто знает, как эффективней всего вычислять такие значения? 1. Как лучше хранить список нерабочих дней? 2. Как высчитывать просрочку для каждого периода?

29 Июл 2022 в 19:51
172 +1
0
Ответы
1

Для решения данной задачи можно использовать следующий метод:

Хранить список нерабочих дней можно в виде отдельного массива или коллекции, где будут содержаться даты выходных, праздничных и корпоративных дней.

Для вычисления просрочки для каждого периода можно использовать следующий подход:

На каждом шаге цикла проверять текущую дату на то, является ли она рабочим или нерабочим днем с помощью списка нерабочих дней.Если текущая дата рабочая, то добавить день к счетчику рабочих дней.Если текущая дата нерабочая, то пропустить ее и не увеличивать счетчик рабочих дней.После завершения цикла вычислить разницу между фактическим количеством рабочих дней и ограничением по времени выполнения задачи. Если разница положительная, то задача просрочена.

Этот метод позволит избежать глубоких циклов и эффективно вычислять просрочку времени работы с учетом выходных и праздников.

16 Апр в 18:12
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 017 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир