Что делает этот калькулятор
Калькулятор прибавления минут к времени берёт начальное время и количество минут, а затем показывает итоговое время по 24-часовому формату. Он правильно учитывает переход через полночь: например, если прибавить 90 минут к 23:30, получится 01:00 уже следующего дня. Кроме того, можно вводить отрицательные значения, чтобы вычитать минуты.
Как пользоваться
Введите начальный час (от 0 до 23) и минуты (от 0 до 59), а затем укажите, сколько минут нужно прибавить. Чтобы отмотать время назад, введите отрицательное число. В результате вы увидите новое время в формате ЧЧ:ММ, общее количество минут с начала суток, а также смещение по дням (+1 означает следующий день, −1 — предыдущий).
Разбираем формулу
Сначала начальное время переводится в минуты с начала суток: \(\text{startMinutes} = \text{час} \times 60 + \text{минуты}\). Затем к ним прибавляются добавляемые минуты, и операция деления по модулю на 1440 (количество минут в сутках) «сворачивает» значение в пределах одного дня.
$$\text{newTime} = (\text{startMinutes} + \text{addMinutes}) \bmod 1440$$Двойной модуль —
$$\text{newTotal} = ((\text{startMinutes} + \text{addMinutes}) \bmod 1440 + 1440) \bmod 1440$$— оставляет результат положительным даже при вычитании. Наконец, полученное значение снова разбивается на часы и минуты.
$$\text{hour} = \left\lfloor \tfrac{\text{newTotal}}{60} \right\rfloor,\quad \text{min} = \text{newTotal} \bmod 60$$
Пример расчёта
Возьмём 09:30 и прибавим 90 минут. Начальные минуты =
$$9 \times 60 + 30 = 570$$Сумма =
$$570 + 90 = 660$$\(660 \bmod 1440 = 660\). Час = \(660 \div 60 = 11\), минуты = \(660 \bmod 60 = 0\), поэтому новое время — 11:00 того же дня.
Частые вопросы
Можно ли прибавить больше 24 часов? Да. Смещение по дням покажет, на сколько полных суток вперёд приходится результат.
Работает ли вычитание минут? Да — введите отрицательное число в поле минут, и время отмотается назад, а при переходе через полночь смещение по дням будет отрицательным.
Какой формат используется — 12 или 24 часа? И ввод, и вывод работают по 24-часовому формату; 13:00 соответствует 1:00 PM.
Дополнительные решённые примеры
Каждый пример следует одной и той же формуле: \( T = (((60\,h + m + a) \bmod 1440) + 1440) \bmod 1440 \), затем разбивает \(T\) на новый час \(\lfloor T/60 \rfloor\) и новую минуту \(T \bmod 60\). В сутках 1440 минут.
Пример 1 — Переход через полночь: 23:30 + 90 минут
Преобразуйте начальное время в минуты с полуночи и добавьте:
$$60 \times 23 + 30 + 90 = 1380 + 30 + 90 = 1500$$Приведите по модулю 1440, чтобы обернуть переход через полночь:
$$T = ((1500 \bmod 1440) + 1440) \bmod 1440 = 60$$Разбейте на часы и минуты:
$$\text{Час} = \left\lfloor \tfrac{60}{60} \right\rfloor = 1, \qquad \text{Минута} = 60 \bmod 60 = 0$$Результат: 01:00 следующего дня (+1 день).
Пример 2 — Вычитание через полночь: 00:15 − 30 минут
Здесь добавляемое значение отрицательное (\(a = -30\)):
$$60 \times 0 + 15 + (-30) = -15$$Двойное приведение по модулю обрабатывает отрицательное значение, сохраняя результат в диапазоне 0–1439:
$$T = ((-15 \bmod 1440) + 1440) \bmod 1440 = (-15 + 1440) \bmod 1440 = 1425$$Разбейте на часы и минуты:
$$\text{Час} = \left\lfloor \tfrac{1425}{60} \right\rfloor = 23, \qquad \text{Минута} = 1425 \bmod 60 = 45$$Результат: 23:45 предыдущего дня (−1 день).
Пример 3 — Более одних суток: 12:00 + 1500 минут
1500 минут — это 25 часов, поэтому часы должны отсчитать одни полные сутки, а затем ещё один дополнительный час:
$$60 \times 12 + 0 + 1500 = 720 + 1500 = 2220$$Приведите по модулю 1440 (вычитая одни целые сутки из 1440 минут):
$$T = ((2220 \bmod 1440) + 1440) \bmod 1440 = 780$$Разбейте на часы и минуты:
$$\text{Час} = \left\lfloor \tfrac{780}{60} \right\rfloor = 13, \qquad \text{Минута} = 780 \bmod 60 = 0$$Результат: 13:00 следующего дня (+1 день).