Сложение длительностей времени (часов, минут, секунд) похоже на обычное десятичное сложение, но с одним ключевым отличием: перенос разряда происходит не при достижении 10, а при достижении 60.
Принцип переноса разряда
Если сложить 1:45:30 и 0:30:45, секунды дают 30 + 45 = 75, что больше 60 — поэтому записываем 15 секунд и переносим 1 минуту дальше. Минуты дают 45 + 30 + 1(перенесённая) = 76, снова больше 60 — записываем 16 минут и переносим 1 час. В результате получается 2:16:15.
Почему это не интуитивно для новичков
Поскольку мы привыкли к десятичной арифметике, соблазн просто сложить «45 + 30 = 75 минут» и оставить как есть — естественный, но неправильный для стандартного формата записи времени, где минуты и секунды должны быть в пределах 0–59.
Вычитание длительностей
Вычитание работает аналогично «займу» в десятичном вычитании: если минуты вычитаемого больше минут уменьшаемого, занимают 60 минут из разряда часов перед вычитанием.
Зачем это нужно
- Просуммировать общее рабочее время из нескольких записей табеля учёта времени за неделю (норма — 40 часов согласно ТК РФ).
- Рассчитать общую длительность плейлиста или видеоряда из отдельных клипов.
- Проверить правильность ручных расчётов длительности в отчётах.
Почему «42 часа» — нормальный итог недельного табеля
В отличие от времени суток на часах, которое всегда в пределах 0–23 часа, сумма длительностей может легко превысить сутки — и это не ошибка. Стандартная рабочая неделя по Трудовому кодексу РФ — 40 часов, но табель с переработками вполне может суммироваться до «42 ч 15 мин», и именно поэтому формат длительности не «переносит» часы в дни автоматически так, как 60 минут переносятся в час.