S
Snickbw
Кто нибудь сталкивался с такой проблемой?
Задан рабочий день: 08:00-17:00 ежедневно
Устройство принято в ремонт : 14:30 date1
Устройство выдано из ремонта : 09:45 date5
Вопрос: как посчитать количество РАБОЧИХ часов:минут которые устройство находилось в ремонте?
Задача тривиальная и довольно распространенная, но у меня получился код листа на два. При этом если еще ввести выходные, обеденный перерыв, то код еще увеличивается в разы.
Я через цикл сделал, вот только если период большой, а шаг делать например в 5 минут, то цикл на месяц содержит около 10000 оборотов, кроме того внутри цикла вычисление дня недели для каждых 5 минут, выборка рабочего периода этого дня недели, сравнение на попадание текущего времени в рабочий период. В общем подвисает прилично машина.
Возможно есть более оригинальное решение.
Задан рабочий день: 08:00-17:00 ежедневно
Устройство принято в ремонт : 14:30 date1
Устройство выдано из ремонта : 09:45 date5
Вопрос: как посчитать количество РАБОЧИХ часов:минут которые устройство находилось в ремонте?
Задача тривиальная и довольно распространенная, но у меня получился код листа на два. При этом если еще ввести выходные, обеденный перерыв, то код еще увеличивается в разы.
Я через цикл сделал, вот только если период большой, а шаг делать например в 5 минут, то цикл на месяц содержит около 10000 оборотов, кроме того внутри цикла вычисление дня недели для каждых 5 минут, выборка рабочего периода этого дня недели, сравнение на попадание текущего времени в рабочий период. В общем подвисает прилично машина.
Возможно есть более оригинальное решение.