timestamp | epoch | конвертировать

> timestamp | epoch | конвертировать <

// Конвертируйте Unix timestamps в даты и даты в timestamps мгновенно

ТЕКУЩИЙ TIMESTAMP
[ЖИВОЙ]

Часы реального времени

Обновляемое в реальном времени отображение Unix timestamp. Смотрите текущее epoch время.

[ДВУНАПРАВЛЕННЫЙ]

Двусторонняя конвертация

Конвертируйте timestamps в читаемые даты и даты обратно в timestamps. Оба направления поддерживаются.

[БЕСПЛАТНО]

Множество форматов

Просматривайте результаты в ISO 8601, RFC 2822, UTC, местном времени и относительном времени.

// О UNIX TIMESTAMPS

Как работают Unix timestamps:

Unix timestamp (также известный как epoch время или POSIX время) представляет количество секунд, прошедших с 1 января 1970 00:00:00 UTC (эпоха Unix). Это простое целое значение обеспечивает универсальный, независимый от часовых поясов способ представления конкретного момента времени.

Пример:

1711324800 → 2024-03-25T00:00:00.000Z

Распространённые случаи использования:

  • >Хранение и запросы timestamp в базах данных
  • >Временные поля в ответах API
  • >Анализ timestamp в лог-файлах
  • >Отладка проблем со временем
  • >Координация времени между часовыми поясами
  • >Проблема Y2K38: 32-битные целые переполняются 19 января 2038

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

В: Что такое Unix timestamp?

О: Unix timestamp — это количество секунд, прошедших с 1 января 1970 00:00:00 UTC. Это простое целое значение, универсально используемое в информатике.

В: Что такое epoch время?

О: Epoch время — это другое название Unix timestamp. «Эпоха» относится к точке отсчёта: 1 января 1970 00:00:00 UTC.

В: Что такое проблема Y2038?

О: Проблема 2038 года (Y2K38) возникает потому, что многие системы хранят Unix timestamps как 32-битные знаковые целые, которые могут представлять время только до 19 января 2038 03:14:07 UTC.

В: В чём разница между timestamps в секундах и миллисекундах?

О: Unix timestamps в секундах состоят из 10 цифр (напр.: 1711324800), а в миллисекундах — из 13 цифр (напр.: 1711324800000).

В: Могут ли Unix timestamps быть отрицательными?

О: Да, отрицательные Unix timestamps представляют даты до 1 января 1970. Например, -86400 представляет 31 декабря 1969.

// Известные значения epoch

Удобные опорные точки при отладке timestamp. Все даты указаны в UTC.

Значение epochДата и время (UTC)
01970-01-01 00:00:00
864001970-01-02 00:00:00
9466848002000-01-01 00:00:00
10000000002001-09-09 01:46:40
12345678902009-02-13 23:31:30
17000000002023-11-14 22:13:20
20000000002033-05-18 03:33:20
21474836472038-01-19 03:14:07
42949672952106-02-07 06:28:15

// Преобразование epoch в дату в коде

JavaScript  new Date(epoch * 1000).toISOString()
Python      datetime.fromtimestamp(epoch, tz=timezone.utc)
PHP         gmdate('c', $epoch)
Go          time.Unix(epoch, 0).UTC()
Java        Instant.ofEpochSecond(epoch)
MySQL       FROM_UNIXTIME(epoch)
Bash        date -u -d @$epoch   # macOS: date -u -r $epoch

>> Другие вопросы

В: Почему Unix-время начинается 1 января 1970 года?

О: Первые разработчики Unix в Bell Labs около 1971 года выбрали простую, круглую и тогда недавнюю дату, чтобы 32-битные счётчики оставались небольшими. Она прижилась и стала стандартной эпохой большинства систем.

В: Как преобразовать epoch в дату в Excel или Google Таблицах?

О: Используйте =(A1/86400)+25569 и задайте ячейке формат даты и времени; в A1 — секунды epoch. Для миллисекунд делите на 86400000. Обратное преобразование: =(A1-25569)*86400.

В: Почему конвертер epoch показывает неожиданную дату?

О: Чаще всего: секунды и миллисекунды (13-значное значение — миллисекунды), отображение часового пояса (одна и та же epoch даёт разное время в UTC и локально) или система с другой эпохой (NTP: 1900, Windows FILETIME: 1601).

В: Каково максимальное значение epoch?

О: Знаковое 32-битное целое заканчивается на 2 147 483 647 (19.01.2038 03:14:07 UTC), беззнаковое — на 4 294 967 295 (07.02.2106 06:28:15 UTC). 64-битных значений хватит на сотни миллиардов лет.

// ДРУГИЕ ЯЗЫКИ