Что это и что показывает
Unix-timestamp — это число секунд, прошедших с полуночи 1 января 1970 года по UTC. Такой формат удобен компьютерам: одно целое число однозначно задаёт момент времени без привязки к часовому поясу. Калькулятор переводит timestamp в человекочитаемую дату и обратно — дату в timestamp.
Формула / как устроено
Timestamp измеряется в секундах, а JavaScript-объект Date — в миллисекундах, поэтому при переводе нужен множитель 1000:
дата = new Date(секунды · 1000)
timestamp = Date.parse(строка) / 1000
Точкой отсчёта (эпохой) служит 00:00:00 UTC 1 января 1970 года. Високосные секунды в Unix-времени не учитываются.
Как посчитать вручную
- Чтобы из timestamp получить дату: умножьте секунды на 1000 и подставьте в конструктор даты.
- Грубая прикидка года: разделите timestamp на 31 557 600 (секунд в году) и прибавьте 1970.
- Чтобы из даты получить timestamp: возьмите разницу в секундах между датой и началом эпохи.
- Учитывайте часовой пояс: timestamp всегда в UTC, локальное время может отличаться.
Пример
Timestamp 1700000000.
Прикидка года: 1 700 000 000 / 31 557 600 ≈ 53.9 года после 1970 → примерно конец 2023 года.
Точное значение: 2023-11-14T22:13:20Z (UTC).
В миллисекундах это 1700000000000 — именно так его ждёт JavaScript.
Где применяется
Timestamp используют для хранения времени в базах данных, в логах серверов, при работе с API (поля created_at, expires_in), для вычисления разницы между событиями и в системах кэширования. Это универсальный формат, не зависящий от локали и часового пояса, поэтому его удобно сравнивать и сортировать.
Осторожно
- Путают секунды и миллисекунды: 10-значное число — секунды, 13-значное — миллисекунды. Ошибка в 1000 раз сдвигает дату на тысячелетия.
- Забывают про часовой пояс и считают локальное время равным UTC.
- Игнорируют «проблему 2038 года» в старых 32-битных системах.
- Передают дату без указания зоны и удивляются сдвигу — без зоны браузер трактует её как локальную.