Все статьи
Интересности29 июля 2026 г.4 мин

Високосная секунда: зачем к минуте иногда добавляли 61-ю секунду

Как согласовывали атомное время с вращением Земли и почему это сложно для ПО. Практические шаги, частые ошибки и короткий чек-лист.

Д
Даниил
CEO

Високосная секунда: зачем к минуте иногда добавляли 61-ю секунду

Как согласовывали атомное время с вращением Земли и почему это сложно для ПО.

Короткий ответ

Високосные секунды добавляли к UTC, чтобы гражданское атомное время не расходилось с неравномерным вращением Земли более чем примерно на 0,9 секунды. Поэтому отдельная минута могла содержать метку 23:59:60.

Почему атомного времени недостаточно

Атомная секунда стабильна, а скорость вращения Земли немного меняется. Шкала UT1 следует вращению Земли, TAI — атомным часам, а UTC связывает их с помощью редких корректировок.

Почему программам сложно

Многие стандартные типы даты не представляют 60-ю секунду. Системы используют ступенчатую коррекцию, растягивание времени или обработку на уровне службы синхронизации. Это влияет на сортировку событий и расчёт длительности.

Практическое правило

Не пишите собственную реализацию UTC и синхронизации. Используйте поддерживаемые системные библиотеки, документируйте поведение источника времени и тестируйте границы отдельно от обычной календарной логики.

Что учитывать на практике

  • Не предполагайте идеальную длину суток.
  • Используйте системные библиотеки времени.
  • Избегайте самодельной синхронизации.
  • Тестируйте обработку нестандартных корректировок.

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

Источники и дополнительное чтение

Итог

Високосные секунды добавляли к UTC, чтобы гражданское атомное время не расходилось с неравномерным вращением Земли более чем примерно на 0,9 секунды. Поэтому отдельная минута могла содержать метку 23:59:60.