Конвертер военного времени: 24- и 12-часовой формат
Переводите военное время в обычный 12-часовой формат и обратно. Конвертер распознаёт 2330, 23:30 и 11:30 PM и объясняет разницу между 0000 и 2400, а также обозначения 12 AM и 12 PM.
Military Time Converter
Type a time in either notation. The converter reads 2330, 23:30 and 11:30 PM, and writes the same reading in both.
The same time in both notations
Документация
Конвертер военного времени
Военное время — это 24-часовая система: часы нумеруются от 00 до 23, а показание обычно записывается четырьмя цифрами без разделителя, например 2330 для половины двенадцатого ночи. Эта страница преобразует записанное время из этой системы в обычную 12-часовую систему и обратно, а также подсчитывает количество минут и часов от полуночи.
Что делает калькулятор
Конвертер считывает одно записанное время и самостоятельно определяет, какая система используется. Маркер AM или PM означает время в 12-часовой системе. Отсутствие маркера означает время в 24-часовой системе. Это правило разрешает единственный неоднозначный случай: запись 12:30 без маркера читается как время в 24-часовой системе, то есть как половина первого после полудня.
Допустимы записи из четырёх цифр (2330), из трёх цифр (745), только с указанием часа (8), с двоеточием (23:30), время в 12-часовой системе с маркером (11:30 PM, 7 pm, 11:30 p.m.), а также запись с произносимым суффиксом (2330 часов, 0800 ч), который удаляется перед считыванием цифр. В записи из трёх или четырёх цифр последние две цифры всегда обозначают минуты, поэтому 745 — это 7:45.
Результат представляет то же время в трёх письменных формах и содержит ещё два показателя: четырёхзначную военную запись, то же время в формате ЧЧ:ММ, время в 12-часовой системе с AM или PM, количество минут от полуночи и это количество, выраженное в часах.
Как преобразовать время в 12-часовой системе в военное время
Возьмите записанный час, замените 12 на 0 и прибавьте 12, если маркер — PM. Минуты не изменяются. В обозначениях:
Здесь H — час в 24-часовой системе, от 0 до 23; h — записанный час в 12-часовой системе, от 1 до 12; p равно 1 для PM и 0 для AM. Операция mod обозначает остаток от деления, поэтому 12 mod 12 равно 0, а 7 mod 12 равно 7.
Весь приём заключается в остатке. Одно выражение превращает 12 AM в час 0, а 12 PM — в час 12. Ошибки обычно возникают при ручной записи двух случаев по отдельности: они выглядят симметрично, но таковыми не являются.
Как преобразовать военное время в время в 12-часовой системе
При обратном преобразовании час снова является остатком, за исключением того, что остаток 0 записывается как 12:
12 & \text{if } H \bmod 12 = 0 \\ H \bmod 12 & \text{иначе} \end{cases}$$ Маркер — AM для часов от 0 до 11 и PM для часов от 12 до 23. В 12-часовой записи начальный ноль у часа опускается, но у минут сохраняется, поэтому час 8 и минута 5 записываются как 8:05 AM. ### Минуты и часы от полуночи Страница также показывает, насколько далеко от начала дня находится это время. Оба показателя вычисляются из одного целого числа: $$t = 60H + m$$ $$T = \frac{t}{60}$$ Здесь *m* — минуты, от 0 до 59; *t* — минуты от полуночи, от 0 до 1440; *T* — это то же количество, выраженное в часах. Карточка с часами один раз делит количество минут, а не прибавляет дробь к количеству часов. Два способа дают разные результаты для 39 из 1440 значений, поскольку компьютер хранит дроби в двоичной системе, а одна шестидесятая не имеет точного двоичного представления. Только это деление порождает дробь на странице, и значение этой дроби не влияет на преобразование. В карточке отображаются четыре знака после запятой — этого достаточно, чтобы различать все 1440 значений, поскольку одна минута составляет примерно 0,0167 часа. ### Пример расчёта Для 2330 страница определяет час как 23 и минуту как 30; маркер отсутствует, поэтому ввод трактуется как время в 24-часовой системе. Час в 12-часовой системе: 23 mod 12 равно 11, а 11 не равно 0, поэтому час — 11. Час 23 равен 12 или больше, поэтому маркер — PM. Получается 11:30 PM. Минуты от полуночи: 60 умножить на 23 — это 1380, а 1380 плюс 30 равно 1410. В часах: 1410, делённое на 60, равно 23,5. Второй пример выполняет обратное преобразование. Для 7:45 PM маркер задаёт *p* как 1, а 7 mod 12 равно 7, поэтому час — это 7 плюс 12, то есть 19. Военная запись — 1945, а запись с двоеточием — 19:45. Минуты от полуночи: 60 умножить на 19 — это 1140, плюс 45 равно 1185, что составляет 19,75 часа. ### Распространённые преобразования | Военное время | 24-часовая система | 12-часовая система | Минуты от полуночи | |---|---|---|---| | 0000 | 00:00 | 12:00 AM (полночь) | 0 | | 0600 | 06:00 | 6:00 AM | 360 | | 0800 | 08:00 | 8:00 AM | 480 | | 1200 | 12:00 | 12:00 PM (полдень) | 720 | | 1330 | 13:30 | 1:30 PM | 810 | | 1800 | 18:00 | 6:00 PM | 1080 | | 2100 | 21:00 | 9:00 PM | 1260 | | 2330 | 23:30 | 11:30 PM | 1410 | | 2400 | 24:00 | 12:00 AM (полночь) | 1440 | ### Полночь: 0000 и 2400 Обе формы используются, но они не взаимозаменяемы. Стандарт ISO 8601 различает две полуночи одной даты и записывает их по-разному. 00:00 начинает день, а 24:00 завершает его; это тот же момент, что и 00:00 следующего дня. Когда запись должна быть однозначной, обычно предпочитают 00:00. Страница сохраняет введённую форму. 0000 возвращается как 0000 и описывается как начало дня; 2400 возвращается как 2400 и описывается как конец дня. Обе формы обозначают 12:00 AM в 12-часовой системе, поскольку в этой системе нет отдельного обозначения конца дня. Только 2400 считается 1440 минутами от полуночи. Форма 2400 принимается только при нулевом количестве минут. Запись 24:30 отклоняется, а не преобразуется молча в 00:30; час 24 проверяется до вычисления остатка, поскольку сравнение с 12 обозначило бы полночь как PM. Источник правила о двух полуночях и предпочтения 00:00 — обзор ISO 8601 Маркуса Куна, подготовленный в Кембриджском университете на основе ISO 8601:2004. Более поздняя история приводится отдельно, со ссылками на изменения самого стандарта: опубликованный ISO 8601-1:2019 исключил представление 24:00, а ISO 8601-1:2019/Amd 1:2022 восстановил его. ### 12 AM и 12 PM Полдень не бывает ни до, ни после самого себя, поэтому обозначения a.m. (до полудня) и p.m. (после полудня) формально неприменимы к 12:00. По соглашению 12 a.m. означает полночь, а 12 p.m. — полдень. Словарь American Heritage, канадский справочник Canadian Press Stylebook и NIST рекомендуют вместо этого писать «полдень» или «полночь», поскольку порядок двух обозначений неочевиден. Источник: статья Википедии о 12-часовой системе. Страница следует этой рекомендации и заключает слово в скобки в обоих случаях: 12:00 AM (полночь) и 12:00 PM (полдень), а не оставляет маркер единственным носителем смысла. ### Какие числа являются точными Каждое число в преобразовании определяет письменную форму записи, а не измерение, поэтому его нельзя уточнить более совершенным экспериментом. | Номер | Значение | Точное значение? | Источник | |---|---|---|---| | Часов в сутках | 24 | точно по определению 24-часовой системы | Википедия, «24-часовая система» | | Часов в каждой половине суток | 12 | точно по определению 12-часовой системы | Википедия, «12-часовая система» | | Минут в часе | 60 | точно по определению | Брошюра BIPM о SI, 9-е издание: минута равна 60 с, а час — 60 мин; это одни из внесистемных единиц, допущенных к применению вместе с SI | | Минут в сутках | 1440 | точно: это 24 умножить на 60, и оба множителя точны | следует из двух приведённых выше строк | Час и минута считываются как целые числа, и все сравнения на странице выполняются между целыми числами, поэтому ни один ответ не определяется округлённым значением. ### Что конвертер отклоняет Для каждого из этих случаев выводится отдельное сообщение, а не предполагаемый ответ: пустое поле; форма записи, которую страница не распознаёт; запись с секундами, например 12:30:45; минуты больше 59; час в 12-часовой системе за пределами от 1 до 12, например 13:00 PM или 0:45 AM; а также час в 24-часовой системе больше 23, если это не форма 2400. Секунды не учитываются. Страница преобразует отдельное показание часов, поэтому к нему не привязываются дата, часовой пояс или смещение UTC. ### Часто задаваемые вопросы **Что означает 2330 в обычном времени?** 11:30 PM. При делении часа 23 на 12 остаток равен 11, а 23 равно 12 или больше, поэтому маркер — PM. **Как преобразовать время после полудня в военное время?** Прибавьте 12 к часу и сохраните минуты. Для 7:45 PM: 7 плюс 12 равно 19, поэтому ответ — 1945. Единственное исключение — 12 PM, которое остаётся часом 12, поскольку 12 mod 12 равно 0. **Полночь — это 0000 или 2400?** Используются обе формы. ISO 8601 рассматривает 00:00 как начало даты, а 24:00 — как её конец; они обозначают один и тот же момент, относящийся к двум соседним датам. Когда запись должна быть однозначной, обычно выбирают 00:00. **12 PM — это полдень или полночь?** По соглашению 12 p.m. означает полдень, а 12 a.m. — полночь. Поскольку эти обозначения вводят в заблуждение, несколько руководств по стилю рекомендуют писать «полдень» или «полночь», и на этой странице слово показывается в скобках. **Означает ли 12:30 половину первого дня или половину первого ночи?** Страница интерпретирует эту запись как половину первого после полудня, поскольку в ней нет маркера AM или PM и поэтому она трактуется как время в 24-часовой системе. Для обозначения половины первого ночи введите 12:30 AM или 0030. **Обрабатывает ли конвертер секунды или часовые пояса?** Нет. Он преобразует только часы и минуты и не добавляет дату, часовой пояс или смещение. Запись с секундами отклоняется, а не обрезается.