Решён
11 мая 00:00:00 - это начало или конец суток?

Михаил Захаров Математика
8.6k
7

Спорим с другом. Полночь 11 мая - это конец 11 мая или начало?

С одной стороны 00:00 звучит как начало нового дня, то есть уже 11 мая началось. С другой - если написать "мероприятие заканчивается 11 мая в 00:00", то это конец 10 мая или начало 11-го?

Кто прав?

Решение
91
Эксперт • 1 ответ

00:00:00 11 мая - это НАЧАЛО суток 11 мая. Не конец 10-го, а первая секунда одиннадцатого.

Последняя секунда 10 мая - это 23:59:59. После нее наступает 00:00:00 11 мая.

Это соответствует стандарту ISO 8601 и общепринятой математической конвенции: сутки начинаются с 00:00 и заканчиваются в 23:59:59, то есть отрезок [00:00, 24:00). 24:00 одних суток тождественно 00:00 следующих.

Аватар Михаил Захаров

Ааа, то есть мой друг проиграл. Спасибо!

26
Участник • 13 ответов

В авиации и военном времени используется формат где 24:00 одного дня и 00:00 следующего строго разграничены. Авиабилет "вылет 11 мая 00:05" - это уже точно 11-е, никаких вопросов. А запись 00:00 в расписании - признак кривого оформления, которое лучше уточнять.

55
Эксперт • 1 ответ

Формально верен ответ выше. Но на практике путаница возникает постоянно именно из за того что "00:00 11 мая" люди читают по-разному.

Поэтому в юридических документах, билетах и договорах профессионалы избегают записи "00:00" и пишут либо "23:59 10 мая" (если имеется в виду конец 10-го), либо "00:01 11 мая" (если имеется в виду самое начало 11-го). Это снимает любую двусмысленность.

18
Эксперт • 2 ответа

Ну вот смотрите. С точки зрения здравого смысла когда часы показывают 00:00 мы говорим "наступила полночь". Полночь это граница. Граница принадлежит новому дню - математически это точка начала отрезка [0, 24). Спор решен.

10
Эксперт • 2 ответа

Позвольте уточнить терминологию. Строго говоря, само понятие "полночь" (midnight) исторически означало середину ночи - то есть момент максимального удаления от полудня. Этот момент и является началом новых гражданских суток согласно григорианскому календарю. Запись 00:00:00 DD.MM.YYYY означает первый момент указанных суток, а не последний момент предшествующих. Это не предмет интерпретации, а конвенция.

30
Эксперт • 1 ответ

Кстати именно из за этой путаницы во многих языках программирования и БД появилось разделение на "начало дня" и "конец дня". В SQL если делаешь выборку WHERE date < '2026-05-11' ты не захватываешь 11 мая вообще, а WHERE date <= '2026-05-11' захватывает весь день включая его 00:00. Классический источник багов в дейтпикерах.

4
Эксперт • 2 ответа

мне всегда казалось что полночь это конец дня, как в сказках же - карета превращается в тыкву ровно в полночь и это конец бала, то есть конец дня... хотя ладно наверное это уже другое

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.