Преобразуйте метку времени Unix в секундах, миллисекундах, микросекундах или наносекундах в дату в UTC или одном из основных часовых поясов мира, а дату - обратно в метку времени.
Текущее время Unix
-
Ничего из введённого не сохраняется - данные преобразуются и возвращаются в том же запросе.
О сервисе Конвертер времени Unix
Логи, базы данных и API хранят время как Unix timestamp: число секунд с 1 января 1970 года UTC. Вставьте значение, чтобы увидеть реальные дату и время в своём часовом поясе, или переведите дату в timestamp для запроса или вызова API.
Что делает
Определяет по величине, в чём задан timestamp: в секундах, миллисекундах, микросекундах или наносекундах.
Показывает дату в выбранном часовом поясе со смещением от UTC, а также ISO 8601 в UTC и местном времени.
Переводит дату и время в формате дд/мм/гггг обратно в секунды и миллисекунды.
Предупреждает, если местное время пропускается или повторяется при переходе на летнее время.
Живые часы текущего Unix-времени, готовые к копированию.
2Вставьте timestamp и нажмите Преобразовать или введите дату, чтобы получить её timestamp.
3Скопируйте нужный формат.
Секунды или миллисекунды: как определяется единица
Timestamp для современной даты содержит 10 цифр в секундах (1767225600 - это 1 января 2026 года, 00:00 UTC), 13 в миллисекундах, 16 в микросекундах и 19 в наносекундах. Инструмент смотрит на величину: значения меньше 10^11 считаются секундами, меньше 10^14 миллисекундами, меньше 10^17 микросекундами, а всё больше - наносекундами. Date.now() в JavaScript и большинство API Java дают миллисекунды; утилиты Unix, time.time() в Python и большинство баз данных дают секунды. Единицу можно задать вручную.
Часовые пояса и летнее время
Unix timestamp всегда в UTC; часовой пояс важен только при показе времени человеку. В обратную сторону местное время может быть неоднозначным: когда часы переводят назад, 01:30 наступает дважды, а когда вперёд, 02:30 не наступает вовсе. Инструмент предупреждает в обоих случаях, а не выбирает вариант молча. Именно молчаливый выбор обычно приводит к отчётам, которые дважды в год сдвигаются на час.
Отрицательные метки, дробные значения и допустимый диапазон
Отрицательная метка времени означает дату до 1970 года: -86400 это 31/12/1969, 00:00 UTC. Инструмент принимает любой момент от -62135596800 (01/01/0001 00:00:00 UTC) до 253402300799 (31/12/9999 23:59:59 UTC). Дробная часть сохраняется как доли секунды, поэтому 1700000000.5 это 14/11/2023, 22:13:20.5 UTC. Единица определяется только по величине, поэтому значение в миллисекундах до 03/03/1973 содержит не больше 11 цифр и читается как секунды: 86400000 покажет 27/09/1972 вместо 02/01/1970. Для таких старых значений выберите единицу «Миллисекунды».
Перевод меток времени в Excel, Google Таблицах и SQL
В Excel или Google Таблицах формула =A1/86400+DATE(1970,1,1) превращает секунды из ячейки A1 в дату UTC (для миллисекунд делите на 86400000); задайте ячейке формат даты и времени. Русский Excel ожидает ДАТА и точку с запятой: =A1/86400+ДАТА(1970;1;1). Для местного времени прибавьте смещение от UTC в часах, делённое на 24, например +3/24 для Москвы. =(A1-DATE(1970,1,1))*86400 переводит дату обратно в секунды. В PostgreSQL to_timestamp(1700000000) возвращает timestamptz, а EXTRACT(EPOCH FROM column) делает обратное; в MySQL FROM_UNIXTIME(1700000000) и UNIX_TIMESTAMP(column) используют часовой пояс сессии. Вставьте то же значение сюда, чтобы проверить формулу: 1700000000 должно дать 14/11/2023 22:13:20 UTC.
Вопросы
Почему преобразованная дата приходится на 1970 год?
Скорее всего, значение было в секундах, а его прочитали как миллисекунды, или в исходной системе оно было 0 или пустым. Дата в январе 1970 года почти всегда означает отсутствующее значение, а не реальное событие.
Учитываются ли високосные секунды?
Нет. Unix-время игнорирует високосные секунды, поэтому в каждых сутках ровно 86 400 секунд. Так время хранят компьютеры, базы данных и API.
Как отличить секунды от миллисекунд?
Посчитайте цифры. Сегодня timestamp в секундах состоит из 10 цифр, а в миллисекундах из 13. Конвертер определяет это сам, но единицу можно задать и вручную.
Есть ли у Unix timestamp часовой пояс?
Нет. Он считает секунды от одного момента в UTC, поэтому один и тот же timestamp означает один и тот же момент в любой точке мира. От часового пояса зависит только отображение.
Что произойдёт в 2038 году?
Системы, которые хранят timestamp как 32-битное число со знаком, переполнятся 19/01/2038. Этот конвертер использует числа полного размера и работает с датами до 9999 года.
Как получить текущий Unix timestamp в коде?
В JavaScript Math.floor(Date.now() / 1000) даёт секунды, а Date.now() сам по себе даёт миллисекунды. В Python int(time.time()). В терминале Linux или macOS date +%s. В PostgreSQL EXTRACT(EPOCH FROM now()) (с дробной частью), в MySQL UNIX_TIMESTAMP(). Часы на этой странице показывают то же значение в секундах, его можно сразу скопировать.
Какие часовые пояса можно выбрать?
40 распространённых поясов из базы часовых поясов IANA, каждый назван по городу: от UTC и Asia/Kolkata (Индия) до America/Los_Angeles и Pacific/Auckland. Для каждой даты пояс применяет свои правила перехода на летнее время. Пояс вашего браузера выбирается сам, если он есть в списке; иначе страница начинает с UTC. Если вашего города нет, выберите город из списка с тем же временем сегодня, например Europe/Moscow для Санкт-Петербурга.
Как перевести время из одного часового пояса в другой, например из IST в EST?
Используйте обе карточки. Выберите часовой пояс Asia/Kolkata, введите 14/11/2023 и 10:00 в блоке «Дата в метку времени» и нажмите «Преобразовать»: получится 1699936200. Вставьте это число в «Метка времени в дату» и переключите часовой пояс на America/New_York. Теперь «Метка времени в дату» показывает 13/11/2023 23:30:00 со смещением UTC -05:00, то есть вечер предыдущего дня в Нью-Йорке. Летнее время учитывается для введённой даты, поэтому 10:00 в Индии 14/07/2023 это 00:30 14/07/2023 в Нью-Йорке, при -04:00. При смене пояса дата из блока «Дата в метку времени» тоже перечитывается как нью-йоркское время, поэтому ответ берите из «Метка времени в дату».
Почему 18-значная метка времени из Active Directory показывает дату в 1970-х?
Атрибуты вроде lastLogonTimestamp и pwdLastSet хранятся в формате Windows FILETIME: это интервалы по 100 наносекунд с 01/01/1601 UTC, а не Unix-время. Если вставить 133446720000000000 как есть, число читается как наносекунды и даёт 25/03/1974. Сначала разделите его на 10000000 и вычтите 11644473600: получится 1700198400, то есть 17/11/2023 05:20:00 UTC. В Excel ту же дату и время в UTC даёт =A1/864000000000-109205, в PowerShell - [DateTime]::FromFileTimeUtc(133446720000000000).
Как перевести время в формате ISO 8601, например 2023-11-14T22:13:20+05:30?
Введите его части в блоке «Дата в метку времени»: 14/11/2023 как дату и 22:13:20 как время. Выберите часовой пояс с тем же смещением на эту дату, Asia/Kolkata для +05:30 или UTC для значения с Z на конце, и нажмите «Преобразовать»: получится 1699980200. Если ни у одного пояса в списке нет такого смещения, вычтите его сами и введите время в UTC: 22:13:20+05:30 - это 16:43:20 UTC. «Метка времени в дату» показывает ISO 8601 в UTC и в местном времени, готовое для копирования.