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

Unix time: почему компьютеры считают секунды с 1970 года

История эпохи Unix и практические особенности хранения временных меток. Практические шаги, частые ошибки и короткий чек-лист.

Д
Даниил
CEO

Unix time: почему компьютеры считают секунды с 1970 года

История эпохи Unix и практические особенности хранения временных меток.

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

Unix time хранит момент как число секунд, прошедших с 00:00:00 UTC 1 января 1970 года. Эта дата стала эпохой Unix по историческим причинам развития системы; она не является началом компьютерного времени и не кодирует часовой пояс.

Что хранится в timestamp

Timestamp описывает момент на временной шкале. Локальная дата появляется только после применения часового пояса и правил его изменений. Поэтому момент и формат отображения нужно обрабатывать раздельно.

Почему именно 1970 год

Ранний Unix развивался в начале 1970-х, и представление времени несколько раз менялось. Эпоха 1 января 1970 года закрепилась как удобная близкая точка отсчёта. Это соглашение реализации, а не физическая особенность времени.

Где возникают ошибки

Секунды путают с миллисекундами, локальную дату принимают за UTC, а 32-битный диапазон считают бесконечным. На границах систем явно фиксируйте единицы, формат и допустимый диапазон.

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

  • Отделяйте timestamp от отображения.
  • Храните момент времени в UTC.
  • Форматируйте дату на стороне пользователя.
  • Учитывайте диапазон выбранного типа данных.

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

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

Итог

Unix time хранит момент как число секунд, прошедших с 00:00:00 UTC 1 января 1970 года. Эта дата стала эпохой Unix по историческим причинам развития системы; она не является началом компьютерного времени и не кодирует часовой пояс.