Приветствую.
Как лучше произвести расчет даты окончания времени, отведенного сотруднику на решение заявки с учетом рабочих дней, рабочих часов, перерывов и короткой пятницы?
Т.е. в функцию мы передаем:
$startDate = '2019-10-31 10:20:00'; // текущее время
$plusTime = 8; // сколько времени дается на решение заявки
$unit = 1; // 1 - часы, 2 - дни
$workDayStart = '09:00'; // начало рабочего дня
$workDayEnd = '18:00'; // конец рабочего дня
$shortFriday = '16:30'; // конец рабочего дня в пятницу
$startPause = '12:00'; // начало перерыва
$endPause = '13:00'; // окончание перерыва
$tz = 'Europe/Moscow'; // в какой временной зоне производить расчет
echo addTimeToDate($startDate, $plusTime, $unit, $workDayStart, $workDayEnd, $shortFriday, $startPause, $endPause, $tz);