Итак, я искал поисковые запросы в Интернете, пытаясь найти какой-то PHP API, который прекрасно обрабатывает расчеты рабочих дней. Я нашел ряд answers and code snippets на stackoverflow, которые были полезны, но код, который я нашел, который обрабатывал добавление рабочих дней к данной дате, не имел определенных функций, которые мне нужны (например, обработка праздников, которые выпадают на выходные), и было сложно настроить на основе потребностей конкретного приложения.PHP-класс для расчета рабочих дней
Итак, я, наконец, решил укусить пулю и написать собственное решение. Класс, который я выпустил, включает код, который я нашел в stackoverflow (James Pasta++), а также логику, используемую в аналогичном (и более простом) классе Java, который я написал в прошлом году. Я размещаю его здесь Q/A style, если кто-то еще сталкивается с теми же разочарованиями, которые у меня были с этой концепцией, и находит это полезным решением.
Есть две основные проблемы, с которыми я столкнулся: 1) добавление рабочих дней к предоставленной дате и 2) подсчет рабочих дней между двумя датами. Моими основными проблемами в решении этих проблем были простота использования и расширяемость; существует ряд мест, которые были написаны менее эффективно; если это станет проблемой, я могу, конечно, реорганизовать части кода, но, по крайней мере, для моих целей, я не буду рассчитывать тысячи рабочих дней в будущем :-)
Пример кода и ссылки на источник могут можно найти в ответе ниже. Обратная связь и улучшения более чем приветствуются.
Очень хорошо .. но это решение не учитывает праздники по выходным дням, которые наблюдаются в будние дни ... FYI – EGriff