Переведите epoch-время в понятную дату и обратно
Этот конвертер Unix timestamp превращает значение epoch в читаемую дату — в UTC, в вашем часовом поясе и в любом другом — и переводит дату и время обратно в timestamp. Он автоматически распознаёт секунды, миллисекунды, микросекунды и наносекунды, читает ISO 8601 и другие строки с датой и показывает результат в форматах ISO 8601, RFC 2822, HTTP-даты и относительного времени вроде «3 дня назад». Живые часы показывают текущее Unix-время, а пакетный режим конвертирует целый список сразу. Всё работает в вашем браузере.
Как перевести Unix timestamp
- 1Вставьте timestamp, например
1700000000или1700000000123, в Timestamp → дата. Единица определяется по количеству цифр; если догадка неверна, выберите её сами. - 2Смотрите дату в UTC, в вашем часовом поясе и в поясе, выбранном на панели инструментов, а также в форматах ISO 8601, RFC 2822 и относительном. Нажмите значок копирования рядом с любым из них.
- 3Для обратного перевода откройте Дата → timestamp, выберите дату, время и часовой пояс и скопируйте секунды или миллисекунды.
- 4Чтобы перевести много значений, откройте Пакет, вставьте по одному в строке и скопируйте или скачайте результаты в CSV.
Что такое Unix timestamp?
Unix-время считает секунды с Unix epoch — 1 января 1970 года, 00:00:00 UTC. Это одно число без часового пояса, поэтому оно идеально для хранения и сравнения моментов: 1700000000 — это 14 ноября 2023 года, 22:13:20 UTC в любой точке мира, и от вашего местоположения зависит только отображение.
Моменты до 1970 года отрицательны — -86400 это 31 декабря 1969 года, — а Unix-время игнорирует високосные секунды: каждый день длится ровно 86 400 секунд, поэтому счёт остаётся простым, а високосная секунда поглощается часами, а не учитывается.
Секунды, миллисекунды, микросекунды и наносекунды
Автоопределение идёт по количеству цифр: до 11 — секунды, от 12 до 14 — миллисекунды, от 15 до 17 — микросекунды, больше — наносекунды. Это верно для любой даты между 1973 и 5138 годом. Для дат очень близких к 1970 году выберите единицу сами.
- Секунды (10 цифр)
- Классическое Unix-время, которое используют утилиты Unix, time() в PHP, int(time.time()) в Python, claims exp и iat в JWT и большинство баз данных. Пример: 1700000000.
- Миллисекунды (13 цифр)
- Используются в Date.now() в JavaScript, System.currentTimeMillis() в Java и многих JSON API. Пример: 1700000000123.
- Микросекунды (16 цифр)
- Используются внутри PostgreSQL, в точности datetime в Python и в некоторых системах логирования. Пример: 1700000000123456.
- Наносекунды (19 цифр)
- Используются в time.UnixNano() в Go, InfluxDB и Prometheus. Пример: 1700000000123456789 — здесь сохраняется точно, так как конвертер использует арифметику произвольной точности.
Форматы дат
Когда вы вставляете строку с датой, указанный в ней часовой пояс учитывается. Строка со временем, но без пояса, например 2024-03-10 08:30, читается как ваше местное время, а дата без времени, например 2024-03-10, — как полночь UTC (по правилам JavaScript), и конвертер сообщает, какой вариант применён.
- ISO 8601 / RFC 3339
- <code>2023-11-14T22:13:20.000Z</code> — формат JSON API и баз данных. Z означает UTC; иначе следует смещение, например <code>+05:30</code>. Правильно сортируется как текст.
- RFC 2822
- <code>Tue, 14 Nov 2023 22:13:20 +0000</code> — формат заголовка Date в электронной почте, также используется в RSS.
- HTTP-дата
- <code>Tue, 14 Nov 2023 22:13:20 GMT</code> — формат IMF-fixdate из RFC 9110, всегда в GMT, используется в заголовках Date, Expires и Last-Modified и в cookie.
Часовые пояса и летнее время
Список часовых поясов содержит все зоны IANA, известные вашему браузеру, например America/New_York, Europe/Berlin или Asia/Kolkata, с полной историей перехода на летнее время. При переводе даты в timestamp есть два сложных случая: весной местное время вроде 02:30 пропускается, когда часы переводят вперёд, а осенью один час повторяется дважды. Конвертер читает пропущенное время как момент после скачка, а повторяющееся — как первое вхождение, и сообщает, если сработал один из этих случаев.
Храните и передавайте timestamp или строки ISO 8601 в UTC, а в местный пояс переводите только для отображения. Для расписаний, повторяющихся в определённое время, воспользуйтесь генератором cron-выражений.
Проблема 2038 года
Системы, хранящие Unix-время как знаковое 32-битное целое, могут досчитать только до 2 147 483 647 — это 19 января 2038 года, 03:14:07 UTC. Через секунду значение переполняется в отрицательное и читается как декабрь 1901 года. Современные 64-битные системы в безопасности на миллиарды лет; проверьте встраиваемые устройства, старые форматы файлов и столбцы баз данных типа 32-битный INT. Вставьте 2147483647 выше, чтобы увидеть этот момент, или посмотрите битовое представление в конвертере систем счисления.
Часто задаваемые вопросы
- Как перевести Unix timestamp в дату?
- Вставьте его в Timestamp → дата. Конвертер определит, в секундах, миллисекундах, микросекундах или наносекундах значение, и покажет дату в UTC, в вашем местном времени и в любом выбранном часовом поясе.
- Как узнать текущий Unix timestamp?
- Живые часы вверху показывают его в секундах и миллисекундах. В коде: Math.floor(Date.now() / 1000) в JavaScript, int(time.time()) в Python, time() в PHP и date +%s в оболочке Unix.
- Как понять, в секундах timestamp или в миллисекундах?
- Посчитайте цифры. Текущий timestamp в секундах содержит 10 цифр, в миллисекундах — 13; в микросекундах — 16, в наносекундах — 19. Конвертер делает это за вас и показывает, какую единицу использовал.
- Unix timestamp указан в UTC?
- У Unix timestamp нет часового пояса: он считает секунды с полуночи UTC 1 января 1970 года, поэтому обозначает один и тот же момент везде. Часовой пояс появляется только при отображении в виде даты.
- Что произойдёт в 2038 году?
- 19 января 2038 года в 03:14:07 UTC Unix-время превысит 2 147 483 647 — максимальное значение знакового 32-битного целого. Программы, хранящие время в 32 битах, переполнятся; 64-битное время это не затронет.
- Можно ли перевести даты до 1970 года?
- Да. У дат до epoch отрицательные timestamp; -86400 — это 31 декабря 1969 года, 00:00 UTC. Конвертер принимает отрицательные значения и выдаёт их для дат до 1970 года.
- Учитывает ли Unix-время високосные секунды?
- Нет. Unix-время считает каждый день равным ровно 86 400 секундам, поэтому високосные секунды не учитываются, и timestamp любой даты вычисляется простой арифметикой.
- Отправляются ли данные на сервер?
- Нет. Весь перевод, включая правила часовых поясов, выполняется в вашем браузере с помощью встроенной поддержки Intl.