Учебный расчёт с переходом на предыдущую дату
Исходные данные учебного примера: матч «Север — Маяк» начинается 2026-04-18 в 00:20 по местному времени, а указанное смещение равно UTC+03:00. Это означает local−UTC = +03:00.
Для перевода в UTC вычитаем смещение: 00:20 − 03:00 = −02:40 в пределах той же даты. Отрицательное время означает переход через полночь на предыдущую дату. Результат: 2026-04-17 21:20Z.
В паспорте матча две записи согласуются так: «местное начало: 2026-04-18 00:20, UTC+03:00» и «начало UTC: 2026-04-17 21:20Z». Буква Z показывает, что вторая запись дана в UTC.
| Величина | Значение |
|---|---|
| Местные дата и время | 2026-04-18 00:20 |
| Смещение local−UTC | +03:00 |
| Операция | 00:20 − 03:00 |
| Время UTC | 21:20 предыдущего дня |
| Дата и время UTC | 2026-04-17 21:20Z |
Что не следует достраивать по названию города
Смещение не нужно жёстко выводить из названия города в карточке матча. Для расчёта требуется смещение, указанное вместе с временем, либо иной надёжно зафиксированный временной атрибут конкретной записи. Название места само по себе не содержит полной информации о дате и действующем смещении.
Если в источнике указано только «18 апреля, 00:20», момент в UTC не определён однозначно. Можно сохранить исходную строку времени и отметить, что смещение отсутствует. Подстановка UTC+03:00, UTC+02:00 или иного значения превратит неизвестный факт в предположение.
- Сохраните дату, местное время и числовое смещение в исходном виде.
- Вычтите смещение из местного времени для получения UTC.
- При переходе за 00:00 измените дату на предыдущую или следующую.
- Запишите UTC с буквой Z и не удаляйте исходную местную запись.
