Отработанные минуты = время ухода минус время прихода минус введённый неоплачиваемый перерыв. Для 09:00–17:30 полная длительность равна 510 минутам; после вычитания 30 минут остаётся 480 минут = 8:00 работы = 8,00 десятичного часа. Считайте каждую смену в точных минутах и складывайте чистые строки до перевода в десятичный формат. Эта арифметика не решает, оплачивается ли перерыв, как округляет payroll и что требует трудовое право.
Сначала найдите полные минуты смены
Для смены 09:00–17:30 полная длительность равна 8 часам 30 минутам, то есть 510 минутам. Целые минуты исключают округление при сложении.
Вычтите только указанный перерыв
Неоплачиваемый перерыв 30 минут превращает 510 полных минут в 480 отработанных, то есть 8:00. WorkHours не придумывает перерыв и не решает, оплачивается ли он.
Сложите отработанные минуты, затем форматируйте
Сложите чистые минуты всех смен до перевода итога в Ч:ММ или десятичные часы. Так сохраняется точность до минуты. Правила перерывов вашей организации проверяйте отдельно.