Отработанные минуты = время ухода минус время прихода минус введённый неоплачиваемый перерыв. Для 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 не придумывает перерыв и не решает, оплачивается ли он.

Сложите отработанные минуты, затем форматируйте

Сложите чистые минуты всех смен до перевода итога в Ч:ММ или десятичные часы. Так сохраняется точность до минуты. Правила перерывов вашей организации проверяйте отдельно.