// инструмент

Unix time конвертер онлайн

Переведи timestamp в дату по UTC, Москве и своему часовому поясу или дату в timestamp. Секунды, миллисекунды и микросекунды определяются по длине числа.

сейчас, секунд с 1 января 1970 года по UTC

—

Всё считается в браузере, ничего не отправляется на сервер.

Что такое Unix time

Unix time, или timestamp, — число секунд, прошедших с 1 января 1970 года 00:00:00 по UTC. Оно не зависит от часового пояса: в Москве и во Владивостоке в один и тот же момент оно одинаковое. Поэтому время удобно хранить в таком виде, а в часы и даты переводить только для показа.

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

Сегодняшний timestamp в секундах — 10 цифр, в миллисекундах — 13. Python time.time(), PostgreSQL и date +%s отдают секунды, а JavaScript Date.now() — миллисекунды. Если дата получилась в 1970 году или в далёком будущем, скорее всего, перепутаны единицы.

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

Самое большое 32-битное знаковое число, 2147483647, — это 19 января 2038 года, 03:14:07 по UTC. Программы, которые хранят время в 32-битном целом, на следующей секунде переполнятся. Поэтому timestamp хранят в 64-битных типах — например, bigint в базе данных.

Дальше

Unix time в коде

Как получить текущий timestamp и перевести 1700000000 в дату. Под каждым примером — результат последней строки для метки 1700000000.

Python

import time
from datetime import datetime, timezone

print(int(time.time()))  # сейчас, в секундах
print(datetime.fromtimestamp(1700000000, tz=timezone.utc))
2023-11-14 22:13:20+00:00

JavaScript

console.log(Math.floor(Date.now() / 1000))  // Date.now() — в миллисекундах
console.log(new Date(1700000000 * 1000).toISOString())
2023-11-14T22:13:20.000Z

PostgreSQL

SELECT extract(epoch FROM now());
SELECT to_timestamp(1700000000) AT TIME ZONE 'UTC';
2023-11-14 22:13:20

bash

date +%s
date -u -d @1700000000
Tue Nov 14 22:13:20 UTC 2023