T

Text Machine

Мощные текстовые инструменты прямо в браузере

Конвертер Unix-времени

Превратите Unix-время (epoch) в понятную дату — в вашем местном времени, в UTC и в формате ISO 8601 — или преобразуйте любую дату обратно во временную метку. Работает с секундами и миллисекундами.

Текущее Unix-время

Миллисекунды:

ISO 8601:

Временная метка в дату

Вставьте значение epoch. Если ваша метка времени в миллисекундах, используйте переключатель.

Дата во временную метку

Выберите дату и время, чтобы получить их временную метку Unix.

Как пользоваться Конвертер Unix-времени

  1. 1

    Введите временную метку

    Вставьте или введите временную метку Unix в поле «Временная метка в дату» и установите переключатель Секунды / Миллисекунды в соответствии с вашим значением.

  2. 2

    Прочитайте дату

    Посмотрите этот момент в вашем часовом поясе, в UTC, в виде строки ISO 8601 и как относительное время, например «3 часа назад».

  3. 3

    Преобразуйте дату обратно

    С помощью выбора «Дата во временную метку» укажите любую дату и время и получите значение epoch в секундах и миллисекундах.

  4. 4

    Скопируйте результат

    Нажмите «Копировать» у любого значения, чтобы поместить его в буфер обмена — готовым для вставки в код, запрос к базе данных или вызов API.

Unix-время простым языком для разработчиков

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

Временная метка Unix — это одно-единственное число, которое обозначает момент времени: количество секунд, прошедших с начала эпохи Unix, то есть с полуночи по UTC 1 января 1970 года. Например, метка 1700000000 соответствует 22:13:20 UTC 14 ноября 2023 года. Одно число однозначно фиксирует и полную дату, и время.

Поскольку это просто целое число, которое монотонно растёт, Unix-время легко хранить, сортировать и сравнивать. Вычтите одну метку из другой — и вы получите точное число секунд между двумя событиями. Именно из-за этой простоты оно лежит в основе столь многого в вычислительной технике — от времени изменения файлов до токенов аутентификации.

Почему именно 1970 год

Эпоха с отсчётом от 1970 года — это историческое наследие операционной системы Unix, которую как раз в то время разрабатывали в Bell Labs. Инженерам нужна была фиксированная точка отсчёта для системных часов, и начало десятилетия, в котором они работали, оказалось простым и удобным выбором. Это решение прижилось и спустя десятилетия остаётся стандартом практически на любой платформе.

В 1970 году нет ничего математически особенного — это просто общая нулевая точка. Важно лишь то, что с ней согласны все. Именно эта общая точка отсчёта позволяет метке, созданной на одной машине, быть правильно понятой на любой другой — независимо от производителя, языка программирования или местоположения.

Секунды против миллисекунд

Традиционно Unix-время измеряется в секундах, но многие современные среды используют миллисекунды для более высокой точности. Например, метод Date.now в JavaScript возвращает значение в миллисекундах. Практический признак — количество цифр: текущая метка в секундах состоит из 10 цифр, а тот же момент в миллисекундах — из 13 цифр, то есть примерно в тысячу раз больше.

Путаница между этими двумя единицами — частая ошибка. Передайте значение в миллисекундах в функцию, ожидающую секунды, — и дата окажется на десятки тысяч лет в будущем; сделайте наоборот — и вернётесь к окрестностям 1970 года. Если преобразованная дата выглядит абсурдно, первым делом проверьте единицы измерения. Переключатель «Секунды» / «Миллисекунды» в этом инструменте как раз и нужен, чтобы устранить эту путаницу одним нажатием.

UTC против местного времени

Сама временная метка Unix не несёт информации о часовом поясе. Она обозначает один и тот же момент в любой точке Земли: число будет одинаковым, находитесь вы в Токио или в Нью-Йорке. Часовые пояса вступают в игру лишь тогда, когда вы преобразуете этот момент в понятную человеку дату, — вот почему одна и та же метка отображается в разных местах как разное время на часах.

Этот конвертер показывает обе формы: ваше местное время, отформатированное по часовому поясу вашего устройства, и UTC — универсальную точку отсчёта. Хранить и передавать метки времени в UTC, а в местное время переводить только для отображения — стандартная практика, которая избавляет от целого класса ошибок со сдвигом на несколько часов, особенно при переходе на летнее время и обратно.

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

Многие старые системы хранят Unix-время в 32-битном целом числе со знаком, максимальное значение которого — 2 147 483 647. Этот потолок будет достигнут в 03:14:07 UTC 19 января 2038 года. Секундой позже счётчик переполнится и «перевернётся» в большое отрицательное число, которое такие системы истолкуют как дату в далёком 1901 году.

Это современное эхо проблемы 2000 года, и оно угрожает встраиваемым устройствам, устаревшим базам данных и любому коду, который всё ещё использует 32-битное время. Решение — хранить время в более ёмком 64-битном целом числе, что отодвигает предел на сотни миллиардов лет вперёд. Сам этот инструмент работает в вашем браузере и использует встроенные средства JavaScript для работы с датами, а не 32-битное время, поэтому без проблем преобразует даты далеко за пределами 2038 года.

Преобразование в обе стороны

Перейти от метки к дате — значит истолковать число как количество секунд, прошедших с начала эпохи, и прибавить их к началу эпохи. Обратное действие, превращение даты во временную метку, вычисляет, сколько секунд лежит между началом эпохи и нужным моментом. Конвертер делает и то, и другое: вставьте значение epoch, чтобы узнать его дату, или выберите дату в календаре, чтобы получить её метку.

Показатель относительного времени, например «3 часа назад», получается вычитанием метки из текущего момента и описанием разницы простыми словами. Это удобно для беглой проверки значения на адекватность: запись в журнале, которая якобы относится к моменту на два года в будущем, очевидно вызывает подозрения.

Где вы встретите Unix-время

Временные метки Unix встречаются в программном обеспечении повсюду. Серверные журналы проставляют такую метку в каждой строке, чтобы события можно было точно упорядочить. REST API возвращают их в полях вроде created_at и expires_at, потому что они компактны и не зависят от языка программирования. Базы данных используют их для сортировки и запросов по временным интервалам, а JWT кодируют срок действия в виде временной метки Unix.

Разработчикам и аналитикам нужно быстро читать такие значения каждый день. Когда вы отлаживаете ответ API, просматриваете файл журнала или проверяете, когда истекает срок действия токена, достаточно вставить «сырое» число в конвертер — и непрозрачное целое превращается в понятную дату, причём сразу и в вашем местном времени, и в UTC, в секундах или миллисекундах.

Часто задаваемые вопросы

Что такое временная метка Unix?
Временная метка Unix, также называемая временем эпохи (epoch), — это количество секунд, прошедших с 00:00:00 UTC 1 января 1970 года, без учёта високосных секунд. Это компактный и независимый от часового пояса способ представления момента времени, который широко используется в программировании, базах данных и API.
Моя метка времени в секундах или миллисекундах?
Временные метки Unix традиционно измеряются в секундах — для текущих дат это 10 цифр. JavaScript и многие API используют миллисекунды, то есть 13 цифр. Если ваше число примерно в 1000 раз больше ожидаемого, оно почти наверняка в миллисекундах — переключите тумблер, чтобы преобразовать его правильно.
Какой часовой пояс использует конвертер?
Результат «Ваше местное время» использует часовой пояс вашего устройства, тогда как результаты UTC и ISO 8601 всегда указаны во всемирном координированном времени. Сама временная метка Unix не имеет часового пояса — она обозначает один и тот же момент в любой точке Земли.
Что такое проблема 2038 года?
Системы, которые хранят Unix-время в 32-битном целом числе со знаком, могут считать только до 03:14:07 UTC 19 января 2038 года, после чего значение переполняется. Современные 64-битные системы и этот инструмент используют числа большего размера и не подвержены этой проблеме.
Отправляются ли мои данные на сервер?
Нет. Каждое преобразование выполняется полностью в вашем браузере с помощью встроенных функций работы с датами. Ничто из введённого вами не загружается, не записывается в журнал и не сохраняется, поэтому инструмент работает офлайн и сохраняет ваши данные полностью конфиденциальными.

Похожие инструменты

Продолжайте работу с этими удобными инструментами

Конвертер JSON в CSV

Конвертер JSON в YAML

Конвертер Двоичный ↔ Десятичный

Конвертер Десятичных ↔ Двоичных Чисел

Конвертер CSV в JSON

Конвертер текста в двоичный код