Хорошо, не так много проблем с программированием, но я могу только думать о действительно сложных методах решения этой проблемы.
В офисе есть скрипт, который мы запускаем.Нам нужно определить, сколько времени займет выполнение этого скрипта только в рабочее время (рабочие часы с 9 до 17).Например, предположим, что скрипт запускается в понедельник в 14:00 и заканчивается во вторник в 16:00.Этот сценарий занял 26 часов, но только 10 часов.Этот сценарий может быть завершен в течение одного рабочего дня, но также может занимать несколько дней.Сценарий может начинаться и заканчиваться только в течение рабочего дня.Отметка времени выполняется в формате Unix.
Я не имею понятия, как это можно сделать в SQL, но я знаю, что сетевой администратор предпочел бы это.
Язык сценариев на стороне сервераэто PHP.Так что это будет второй доступный вариант.Моя попытка ниже:
$workingDay = 24;
$workingDayHours = 8;
$workingTime = 0;
while($timeTaken >= $workingDay) {
$workingTime += $workingDayHours;
$timeTaken -= $workingDay;
}
$workingTime += $timeTaken;
Я не могу сейчас правильно думать, слишком много работы, поэтому, хотя этот метод глуп, в этом сценарии он работает, так как $ timeTaken всегда будет<= 8 ||> = 24.
В любом случае, было бы здорово увидеть лучший и более умный метод (возможно, такой, который будет работать с любым количеством часов).SQL тоже было бы здорово увидеть.