Что такое Unix-время

Unix timestamp — число секунд от «эпохи Unix»: 1 января 1970 года, 00:00:00 UTC. Например, 1800000000 — это 15 января 2027 года, 08:00:00 UTC. Формат удобен тем, что его легко сравнивать и хранить, а часовой пояс применяется только при отображении.

Секунды или миллисекунды

Частая ошибка — передать миллисекунды туда, где ждут секунды: дата уезжает на десятки тысяч лет вперёд.

Как перевести timestamp в дату в коде

ЯзыкСекунды → дата
JavaScriptnew Date(ts * 1000).toISOString()
Pythondatetime.fromtimestamp(ts, tz=timezone.utc)
PHPdate('Y-m-d H:i:s', $ts)
PostgreSQLto_timestamp(ts)
MySQLFROM_UNIXTIME(ts)
Excel=A1/86400+ДАТА(1970;1;1)

Часовые пояса

Timestamp всегда в UTC. Чтобы показать местное время, к нему применяют смещение пояса: Москва — UTC+3, Баку — UTC+4, Алматы — UTC+5. Хранить в базе лучше именно timestamp или время с пометкой UTC, а переводить в местное — на стороне интерфейса.

Проблема 2038 года

Старые системы хранят время в 32-битном знаковом целом. Его максимум — 2 147 483 647, что соответствует 19 января 2038 года 03:14:07 UTC. Дальше счётчик переполняется. Решение — 64-битный тип, который уже используется в современных ОС и языках.

⏱️ Вставьте timestamp — формат (секунды или миллисекунды) определится автоматически:
Открыть конвертер Unix-времени→

Частые вопросы

Что такое Unix timestamp?

Это количество секунд, прошедших с 00:00:00 1 января 1970 года по UTC. Часовой пояс в нём не хранится, поэтому одно и то же число означает один момент времени в любой точке мира.

Почему timestamp бывает из 10 и из 13 цифр?

10 цифр — секунды (так принято в Unix, PHP, Python, базах данных). 13 цифр — миллисекунды: их возвращает JavaScript Date.now() и многие API.

Как перевести timestamp в дату в Excel?

Для секунд: =A1/86400+ДАТА(1970;1;1) и формат ячейки «Дата и время». Результат будет в UTC — для Москвы прибавьте 3/24.

Что такое проблема 2038 года?

Если время хранится в знаковом 32-битном целом, максимум — 2 147 483 647 секунд, то есть 19 января 2038 года 03:14:07 UTC. После этого значение переполняется. Современные системы используют 64-битное время.