Сохранение разбора

Часовой пояс и бейсбольная дата

Бейсбольную дату нельзя определить только по времени UTC: нужно применить числовое смещение местного времени, и при переходе через полночь дата может измениться.

Часовой пояс и бейсбольная дата

Связь UTC и местного времени

Числовое смещение определяется как местное время минус UTC. Отсюда местное время равно UTC плюс смещение. Если результат выходит за пределы суток, изменяется календарная дата.

Обозначение Z означает UTC. Само время без даты и без смещения не определяет момент однозначно: запись «23:30» не сообщает, в каком часовом поясе она дана.

Для хранения разбора удобно разделять момент начала, выраженный в UTC, и отображаемую местную дату. Это разные поля, хотя они описывают один момент.

Расчёт местного времени
Исходные данныеОперацияРезультат
2025-07-10 01:30 Z; смещение −4 часа01:30 + (−4:00)2025-07-09 21:30

Разбор перехода через полночь

Вымышленный пример: начало игры указано как 2025-07-10 01:30 Z, а заданное смещение равно −4 часа. Местное время рассчитывается так: 01:30 + (−4:00) = 21:30 предыдущего дня. Поэтому местная дата равна 2025-07-09.

Если в карточке игры нужна бейсбольная дата по этому заданному местному времени, записывают 2025-07-09. Значение UTC при этом не исправляют и не заменяют местным: оба значения можно хранить рядом с явными обозначениями UTC и смещения.

  1. Проверьте, что исходное время содержит дату и обозначение UTC либо явное смещение.
  2. Возьмите заданное числовое смещение «местное время минус UTC».
  3. Прибавьте смещение к UTC.
  4. Если расчёт пересёк полночь, измените дату на предыдущую или следующую.
  5. Сохраните исходный UTC-момент, применённое смещение и полученную местную дату отдельно.

Почему нельзя подставлять город без данных

Числовое смещение в расчёте должно быть задано в исходных данных. Источник о представлении времени не содержит каталога актуальных смещений для городов и не позволяет выводить их по названию площадки.

Поэтому фраза «матч был в городе X» недостаточна для пересчёта, если нет даты, времени и смещения. В таком случае местную дату следует оставить неизвестной, а не вычислять её предположительно.

Источники и методика