Что считает этот калькулятор
Инструмент вычисляет, сколько времени прошло между моментом начала и моментом окончания, где каждый момент задаётся часами, минутами и секундами в пределах суток. Результат выводится в привычном формате Ч:ММ:СС, а также в виде десятичного значения в часах, в минутах и целым числом секунд. В основе — простая «часовая» арифметика, которая работает одинаково везде, независимо от страны или часового пояса.
Как пользоваться
Укажите время начала (часы, минуты, секунды) и время окончания (часы, минуты, секунды). Используйте 24-часовой формат: например, 3:40 дня вводится как час 15. Нажмите «Рассчитать». Если время окончания оказывается раньше времени начала, калькулятор считает, что окончание приходится на следующий день, и автоматически прибавляет 24 часа — это удобно для ночных смен или сна, который длится через полночь.
Как работает формула
Каждый момент переводится в общее число секунд от начала суток: часы умножить на 3600, плюс минуты умножить на 60, плюс секунды. Разница равна «итог окончания» минус «итог начала». Если эта разница отрицательная, калькулятор прибавляет 86400 (число секунд в сутках), и результат переносится на следующий день. Из полученной суммы секунд часы — это целая часть от деления секунд на 3600, минуты — целая часть от деления остатка на 60, а секунды — остаток по модулю 60.
$$\Delta t = \left(E - S\right) \bmod 86400 \quad\text{seconds}$$ $$\text{where}\quad \left\{ \begin{aligned} S &= 3600\,\text{Start h} + 60\,\text{Start m} + \text{Start s} \\ E &= 3600\,\text{End h} + 60\,\text{End m} + \text{End s} \end{aligned} \right.$$
Разбор примера
Начало = 08:30:00 — это 30 600 секунд. Окончание = 15:40:00 — это 56 400 секунд. Разница составляет 25 800 секунд, то есть 7 часов, 10 минут, 0 секунд — отображается как 7:10:00. В пересчёте это 7,166667 часа, 430 минут или 25 800 секунд.
$$\Delta t = \left(56400 - 30600\right) \bmod 86400 = 25800 \quad\text{seconds} = 7{:}10{:}00$$Частые вопросы
Что если окончание раньше начала? Время окончания считается следующим днём, поэтому к разнице прибавляется полные 24 часа (86400 секунд). Например, с 22:00 до 06:30 получится 8:30:00.
Что если начало совпадает с окончанием? Прошедшее время равно 0:00:00. Перенос на следующий день происходит только при строго отрицательной разнице.
Для чего это пригодится? Типичные задачи: измерение продолжительности сна, рабочих часов или переработок, длительности смены, времени ожидания и таймеров, которые проходят через полночь.