UNIX Timestamp Конвертер: Онлайн Преобразователь Времени

Текущий UNIX timestamp

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

Timestamp → Дата и время


Дата и время → Timestamp

UNIX Timestamp Конвертер (онлайн преобразователь UNIX времени)

Этот UNIX timestamp конвертер позволит вам быстро преобразовать время UNIX (epoch time / POSIX time) в дату и время и наоборот. Он поддерживает timestamp в секундах и миллисекундах, отображает местное время, UTC и ISO 8601, а результаты можно скопировать одним кликом.


Что такое UNIX timestamp (epoch time / POSIX time)?

UNIX timestamp — это число, выражающее время как количество секунд с 1 января 1970 года 00:00:00 UTC (так называемая UNIX-эпоха). На практике это один из наиболее часто используемых форматов для хранения и передачи даты и времени в системах, базах данных, API и журналах.

Пример: 1700000000 соответствует дате 14 ноября 2023 года 22:13:20 UTC.

Почему именно 1 января 1970 года?

Начало эпохи (1970-01-01) было выбрано при разработке UNIX как практическая отправная точка: оно близко к периоду создания системы и позволяет выполнять простые вычисления времени.


UNIX timestamp в секундах vs. миллисекундах

UNIX timestamp чаще всего встречается в двух видах:

Формат timestampПримерТипичное использование
Секунды (с)1700000000базы данных, бэкенд, API, файлы
Миллисекунды (мс)1700000000000JavaScript (Date.now()), аналитика, подробные логи

Как определить, какой у вас?

  • Секунды для «сегодняшних» дат обычно имеют 10 цифр.
  • Миллисекунды обычно имеют 13 цифр и примерно в 1000 раз больше.
  • Ориентировочно: если значение > 10¹², это почти наверняка миллисекунды.

Как пользоваться UNIX timestamp конвертером

1) Timestamp → Дата и время

  1. Введите UNIX timestamp в поле или нажмите Сейчас (текущее время UNIX).
  2. Если timestamp указан в миллисекундах, активируйте опцию Миллисекунды.
  3. Нажмите Конвертировать (или нажмите Enter).
  4. Отобразится преобразование в местное время, UTC и ISO 8601.
  5. Нажав на результат, вы скопируете его в буфер обмена.

2) Дата и время → Timestamp

  1. Выберите дату и время в форме.
  2. Нажмите Конвертировать.
  3. Результат будет представлен как timestamp в секундах и миллисекундах.

Где чаще всего используется UNIX timestamp?

Время UNIX встречается практически везде, где в IT работают со временем:

  • Базы данных – хранение и сравнение времени в MySQL, PostgreSQL, SQLite и т.д.
  • API – REST/GraphQL часто возвращает время как timestamp (удобная сериализация).
  • Логи и мониторинг – точная сортировка событий по времени.
  • Git – коммиты содержат временные данные.
  • Файловые системы – время создания/изменения/доступа (mtime/ctime/atime и т.д.).
  • JWT – поля iat (issued at) и exp (expires) обычно представлены в секундах эпохи.
  • Linux/Unix shelldate +%s возвращает текущий timestamp.
  • JavaScriptDate.now() возвращает время в миллисекундах.

Практические примеры преобразования времени UNIX

JavaScript (timestamp ↔ дата)

// Текущий UNIX timestamp в секундах
const tsSeconds = Math.floor(Date.now() / 1000);

// Текущий timestamp в миллисекундах
const tsMs = Date.now();

// Timestamp (с) -> дата
const dateFromSeconds = new Date(1700000000 * 1000);
console.log(dateFromSeconds.toISOString());

// Дата -> timestamp (с)
const ts = Math.floor(new Date("2024-01-01T00:00:00Z").getTime() / 1000);
console.log(ts);

Python (timestamp ↔ datetime)

import time
from datetime import datetime, timezone

# Текущий timestamp в секундах
ts = int(time.time())

# Timestamp -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc);

# Дата -> timestamp
ts2 = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp());

SQL (MySQL)

-- Текущий UNIX timestamp (с)
SELECT UNIX_TIMESTAMP();

-- Timestamp -> дата
SELECT FROM_UNIXTIME(1700000000);

-- Дата -> timestamp
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');

Часовые пояса: UTC, местное время и ISO 8601

UNIX timestamp всегда в UTC – он не содержит информации о часовом поясе или летнем времени. Преобразование в местное время зависит от настроек браузера, сервера или используемой библиотеки.

Понятия, которые полезно знать:

  • UTC – глобальный стандарт без летнего/зимнего времени.
  • GMT – для обычного использования практически совпадает с UTC.
  • Смещение – разница относительно UTC (например, Москва UTC+3).

Ограничения UNIX timestamp и Проблема 2038 года

Проблема 2038 года (Year 2038 Problem)

На некоторых 32-битных системах timestamp хранится как int32 с максимальным значением 2 147 483 647, что соответствует 19 января 2038 года 03:14:07 UTC. При превышении этого значения может произойти переполнение и неправильное отображение времени. Современные 64-битные системы, как правило, не имеют этой проблемы.

Диапазон 64-битного времени UNIX

64-битные значения охватывают чрезвычайно широкий период (на практике «навечно»). Отрицательные значения соответствуют дате до 1 января 1970 года.


FAQ – часто задаваемые вопросы о UNIX timestamp

UNIX timestamp в UTC или в местном времени? UNIX timestamp всегда находится в UTC. Местное время формируется только при преобразовании в соответствии с часовым поясом. Поэтому конвертер обычно отображает как UTC, так и местное время.
Как определить, timestamp в секундах или миллисекундах? Для текущего времени timestamp в секундах обычно имеет 10 цифр. В миллисекундах он обычно имеет 13 цифр и примерно в 1000 раз больше. Ориентировочно: значение > 10¹² обычно означает миллисекунды.
Что означает отрицательный UNIX timestamp? Отрицательный timestamp представляет дату до 1 января 1970 года. Например, -1 соответствует 31 декабря 1969 года 23:59:59 UTC.
Как преобразовать UNIX timestamp в SQL? В MySQL вы используете FROM_UNIXTIME(timestamp) и обратно UNIX_TIMESTAMP(дата). В PostgreSQL это обычно TO_TIMESTAMP(timestamp) и EXTRACT(EPOCH FROM дата).
Почему UNIX-эпоха начинается 1 января 1970 года? Это исторически выбранная отправная точка с ранних времен UNIX: простая, практичная и близкая ко времени разработки системы.