Конвертер Unix-временной метки
Преобразуйте Unix-временные метки (секунды или миллисекунды) в читаемые даты и обратно. Автоматически определяет единицу по величине.
Временная метка → дата
Дата → временная метка
- Вставьте Unix-временную метку в верхнее поле или нажмите Использовать текущее время.
- Оставьте Единицу на Автоопределение или принудительно выберите секунды/миллисекунды, если ваше значение неоднозначно.
- Читайте строки UTC, локального и относительного времени, появляющиеся ниже.
- Чтобы пойти в другую сторону, выберите дату в нижнем пикере и нажмите Преобразовать в временную метку.
Что это делает?
Unix-временная метка — это количество секунд (или миллисекунд) с 1970-01-01 00:00:00 UTC — та же эпоха, используемая Linux, macOS, базами данных, файлами логов и HTTP-заголовками. Этот инструмент преобразует между этим числовым значением и читаемой датой как в UTC, так и в вашей локальной временной зоне, и может преобразовывать обратно. Автоопределение выбирает секунды vs миллисекунды на основе количества цифр.
Пример
Ввод (секунды, 10 цифр):
1709251200 Вывод:
UTC (ISO 8601) 2024-03-01T00:00:00.000Z
Local time 3/1/2024, 9:00:00 AM (in a UTC+9 locale)
Relative 2 months ago (relative to now)
Seconds 1709251200
Milliseconds 1709251200000 Тот же момент в миллисекундах был бы 1709251200000 — 13 цифр.
Почему моя временная метка показывает неправильный год?
- Путаница секунд и миллисекунд.
1709251200как миллисекунды — это январь 1970;1709251200000как секунды — это год 56137. Проверьте количество цифр — 10 это секунды, 13 это миллисекунды. - Микросекунды или наносекунды. Некоторые системы (time.time_ns() Python, Prometheus) выдают 16- или 19-значные значения. Разделите на 1000 или 1 000 000 перед вставкой.
- Путаница с часовым поясом. Ваша локальная строка отличается от UTC на смещение вашего браузера. Если файл лога говорит 12:00:00, а сайт показывает 21:00:00, это UTC+9, а не баг.
- 32-битное переполнение (Y2038). Устаревшие системы, хранящие время в signed int32, переполняются на 2147483647 (19 янв 2038 UTC) в отрицательное значение, интерпретируемое как 1901.
- Ведущие нули удалены. 0012345 становится 12345. Вставляйте значение как показано, без переформатирования.
- Дробные временные метки. 1709251200.123 — это дробная секунда. Инструмент принимает это и сохраняет дробную часть как миллисекунды.
Часто задаваемые вопросы
Моя временная метка в секундах или миллисекундах?
Посчитайте цифры. Временная метка для даты примерно с 2001 по 2286 — это 10 цифр в секундах (напр. 1709251200) или 13 цифр в миллисекундах (напр. 1709251200000). Если вы видите огромное число, заканчивающееся тремя нулями, это почти наверняка миллисекунды. Этот инструмент автоопределяет по величине: значения 10^12 или больше обрабатываются как миллисекунды.
Что такое проблема Y2038?
Unix-временные метки, хранящиеся в signed 32-bit integer, переполняются в 03:14:07 UTC 19 января 2038 — значение 2147483647. Системы, которые все еще используют int32 для времени (старый C-код, некоторые встраиваемые устройства, некоторые базы данных), будут оборачиваться в отрицательное число и интерпретировать его как 13 декабря 1901. Современные 64-битные системы и числа JavaScript безопасны.
Почему моя временная метка показывает неправильный год?
Почти всегда несоответствие единиц. Если вы вставляете 1709251200000, и инструмент обрабатывает это как секунды, вы получаете дату около 56137 года. Если вы вставляете 1709251200, и инструмент обрабатывает это как миллисекунды, вы получаете 20 января 1970. Установите выпадающее меню Единица явно или проверьте количество цифр.
Включает ли временная метка часовой пояс?
Нет. Unix-временная метка — это абсолютный подсчет секунд с 1970-01-01 00:00:00 UTC. Она не несет часового пояса. Этот инструмент показывает как UTC-представление, так и интерпретацию локального времени вашего браузера. Если вы видите 9-часовое смещение по сравнению с коллегой, это разница часовых поясов, а не баг.
Могу ли я использовать отрицательные временные метки для дат до 1970?
Да. Отрицательные значения поддерживаются — -86400 это 31 декабря 1969 UTC, например. Не все системы их принимают (некоторые базы данных и старые языки обрезают до нуля), но JavaScript Date обрабатывает их нативно, поэтому этот инструмент преобразует их правильно.
Поддерживает ли это строки даты ISO 8601 в поле временной метки?
Нет, поле временной метки ожидает только числовое значение epoch. Используйте раздел Дата → временная метка, чтобы выбрать календарную дату и время. Если у вас строка ISO 8601 вроде 2024-03-01T00:00:00Z, вставьте ее в консоль браузера как new Date("...").getTime(), чтобы получить миллисекунды, или вставьте в выбор даты.
Сохраняете ли вы временные метки или даты, которые я преобразую?
Нет. Мы не храним никакие временные метки или даты, которые вы здесь вводите. Все, что вы преобразуете, отбрасывается в момент закрытия или обновления вкладки — никаких логов, никаких записей у нас о том, что вы смотрели. Можете проверить инструменты разработчика вашего браузера, если хотите дополнительной уверенности.