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

Проблема 2038 года: кому она всё ещё угрожает

Почему 32-битный счётчик секунд переполнится и где искать старые системы. Практические шаги, частые ошибки и короткий чек-лист.

Д
Даниил
CEO

Проблема 2038 года: кому она всё ещё угрожает

Почему 32-битный счётчик секунд переполнится и где искать старые системы.

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

В 03:14:07 UTC 19 января 2038 года знаковый 32-битный счётчик секунд от эпохи Unix достигнет максимума. Следующее значение переполнится, и система может интерпретировать дату как декабрь 1901 года.

Кого это касается

Основной риск — старые 32-битные ОС, встроенные контроллеры, прошивки, промышленные устройства и форматы данных с полем времени на 32 бита. Даже 64-битное приложение может зависеть от старой базы, протокола или библиотеки.

Почему проверять нужно сейчас

Сбой проявляется раньше 2038 года, если система уже рассчитывает сроки на годы вперёд: сертификаты, договоры, бронирования или расписания. Долгоживущие устройства могут оставаться в эксплуатации десятилетиями.

Как готовиться

Инвентаризируйте типы времени на всех границах, тестируйте даты после 19 января 2038 года и мигрируйте хранилища и протоколы на согласованное 64-битное представление. Одной пересборки приложения недостаточно.

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

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

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

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

Итог

В 03:14:07 UTC 19 января 2038 года знаковый 32-битный счётчик секунд от эпохи Unix достигнет максимума. Следующее значение переполнится, и система может интерпретировать дату как декабрь 1901 года.