Преодолейте разрыв между временем epoch и читаемыми датами. Преобразуйте любую метку времени Unix в читаемую дату или наоборот — плюс отображение текущей метки времени в реальном времени одним кликом.
Загрузка калькулятора...
Этот инструмент вам помог?
Что такое Конвертер метки времени Unix?
Конвертер меток времени Unix преобразует между метками времени Unix (секунды от эпохи) и читаемыми форматами даты/времени. Также отображает текущее время Unix одним кликом. Необходимо для разработчиков, работающих с данными о времени.
Когда использовать этот калькулятор
Вы отлаживаете API, которая возвращает метки времени Unix, и вам нужно прочитать их как человеческие даты
Вы пишете код, который хранит или сравнивает даты, и вам нужно преобразовать между меткой времени и форматом даты
Вам нужна текущая метка времени Unix для записи в журнале, вызова API или записи в базе данных
Вы анализируете журналы сервера, где метки времени в формате epoch
Вы хотите проверить, что метка времени в вашем коде соответствует правильной дате и времени
Вы работаете с базами данных или файловыми системами, которые используют метки времени Unix для метаданных файлов
Шаги:
Введите метку времени Unix, чтобы преобразовать её в читаемую дату.
Или введите дату/время, чтобы преобразовать её в метку времени Unix.
Нажмите кнопку текущего времени, чтобы получить текущую метку времени Unix.
Скопируйте результаты кнопкой копирования.
Формула
Метка времени → Дата: new Date(timestamp × 1000)
Дата → Метка времени: Math.floor(date.getTime() / 1000)
Эпоха Unix: 1 января 1970 00:00:00 UTC
Максимальная 32-битная метка: 19 января 2038 (03:14:07 UTC)
Варианты использования
Отладка ответов API с метками времени
Преобразование значений меток времени базы данных
Установка дат истечения в коде
Анализ логов и интерпретация данных временных рядов
Основные преимущества
Мгновенное преобразование меток времени и дат
Текущее время Unix одним кликом
Отображение в местном времени и UTC
Бесплатно, без регистрации
Советы профессионалов
Всегда храните метки времени в UTC в базах данных
Преобразуйте в местное время только для отображения
Используйте 64-битные целые числа для хранения меток времени
Проверяйте метки времени в обоих направлениях, прежде чем полагаться на них
Распространенные ошибки
Забывать, что JavaScript использует миллисекунды (×1000)
Предполагать, что все API используют один формат метки времени
Не учитывать разницу часовых поясов
Использовать 32-битные целые числа для меток времени в новых системах
Объяснение ключевых терминов
Метка времени Unix: секунды с 1 января 1970 UTC
Эпоха: опорная точка для измерения времени
UTC: всемирное координированное время
Проблема 2038 года: переполнение 32-битного целого числа
Связанные понятия
Эпоха Unix: 1 января 1970 00:00:00 UTC, опорная точка, от которой измеряются все метки времени Unix
Время Epoch: система представления времени как количества секунд, прошедших с эпохи Unix
UTC (всемирное координированное время): основной временной стандарт, по которому мир регулирует часы и время, независимый от часового пояса
Проблема 2038 года: дата, когда 32-битные метки времени Unix переполнятся, потенциально заставив системы интерпретировать дату как 1901
ISO 8601: международный стандарт для представления дат и времён (например, 2024-06-29T12:00:00Z) в качестве альтернативы меткам времени Unix
Пример
Текущая метка: 1719676800 → Дата: 29 июня 2024 12:00:00 PM UTC. Преобразование даты: «1 января 2025 00:00:00 UTC» → Метка: 1735689600.
Интерпретация результатов
Конвертер работает в двух направлениях: ввод метки времени Unix даёт читаемую дату, а ввод даты даёт метку времени Unix. Текущее время Unix отображается вверху с кнопкой обновления, поэтому вы всегда можете видеть метку в реальном времени, ничего не вводя.
Метки времени Unix считают секунды с 1 января 1970 UTC (эпоха Unix). Они независимы от часового пояса — одна и та же метка представляет один и тот же момент в любой точке Земли. Когда вы вводите дату, конвертер использует ваше местное смещение часового пояса для вычисления метки, но вы можете переключиться на UTC, если вам нужны результаты, нейтральные к часовому поясу.
Проблему 2038 года стоит понять: 32-битные знаковые целые числа переполняются 19 января 2038 года, что означает, что унаследованные системы, использующие 32-битные метки, перейдут к отрицательным значениям. Современные системы используют 64-битные метки, которые не переполнятся миллиарды лет. Если вы столкнётесь с неожиданными датами около 1901 или 2038 года, вероятной причиной является 32-битное переполнение.
Часто задаваемые вопросы
Что такое метка времени Unix?
Метка времени Unix — это количество секунд, прошедших с 1 января 1970 года 00:00:00 UTC (эпоха Unix). Это универсальная временная referencia, используемая в программировании и вычислениях.
Почему метки времени полезны?
Метки времени предоставляют независимый от часового пояса способ хранения и сравнения времени. Они используются в базах данных, API, журналировании и любой системе, нуждающейся в точном отслеживании времени.
Что такое проблема 2038 года?
19 января 2038 года 32-битные метки времени Unix переполнятся, поскольку будет превышено максимальное 32-битное знаковое целое число (2 147 483 647). Современные системы используют 64-битные метки времени, чтобы избежать этого.
В чём разница между секундами и миллисекундами в метках времени?
Стандартные метки времени Unix указаны в секундах. JavaScript и многие современные API используют миллисекунды (умножьте секунды на 1000). Если вы получаете неожиданные даты, проверьте, указана ли метка времени в секундах или миллисекундах — метка времени в миллисекундах, интерпретированная как секунды, покажет дату в далёком будущем, и наоборот.
Почему моя метка времени показывает дату, отличную от ожидаемой?
Наиболее распространённые причины: метка времени указана в миллисекундах вместо секунд (или наоборот), разница часовых поясов между местом генерации метки и местом просмотра, или 32-битное переполнение для очень больших или очень маленьких значений. Переключайтесь между UTC и местным временем, чтобы исключить проблемы с часовым поясом.
Могу ли я преобразовать метки времени до 1970 года?
Да. Метки времени до 1 января 1970 года представляются отрицательными числами. Например, -86400 представляет 31 декабря 1969 года 00:00:00 UTC. Конвертер корректно обрабатывает отрицательные метки времени.
Какой формат обычно используют базы данных для меток времени?
Большинство реляционных баз данных (PostgreSQL, MySQL) поддерживают как метки времени Unix (в виде целочисленных столбцов), так и нативные типы datetime/timestamp. TIMESTAMPTZ в PostgreSQL хранит метки времени с учётом часового пояса внутри. Выбор зависит от потребностей вашего приложения — метки времени Unix проще для сравнений, а нативные типы datetime более читаемы в запросах.
Как обрабатывать преобразования часовых поясов с метками времени Unix?
Метки времени Unix всегда в UTC внутри. Для отображения в местном часовом поясе примените смещение часового пояса при отображении. Большинство языков программирования имеют встроенные функции преобразования часовых поясов. В JavaScript: new Date(timestamp * 1000).toLocaleString('en-US', { timeZone: 'America/New_York' }).
Каково максимальное значение метки времени Unix?
64-битное знаковое целое число может представлять метки времени до примерно 292 миллиардов лет от эпохи — далеко за пределами возраста вселенной. Практически 64-битные метки времени никогда не переполнятся. 32-битный предел (2 147 483 647 секунд) соответствует 19 января 2038 года 03:14:07 UTC.
Почему некоторые системы отходят от меток времени Unix?
Метки времени Unix теряют читаемость для людей и не элегантно обрабатывают високосные секунды, изменения часовых поясов или реформы календаря. Строки ISO 8601 (например, 2024-06-29T12:00:00Z) самодокументированы и учитывают часовой пояс. Однако метки времени Unix остаются популярными благодаря своей простоте, компактности и независимости от часового пояса при хранении и вычислениях.