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.

// Шпаргалка: длина timestamp

Посчитайте цифры, чтобы определить единицу. Путаница между секундами и миллисекундами — самая частая причина неверной даты.

ЦифрЕдиницаПримерТипичный источник
10s1711324800Unix/Linux, PHP time(), Stripe
13ms1711324800000JavaScript Date.now(), Java
16µs1711324800000000Kafka, Cassandra
19ns1711324800000000000Go UnixNano(), InfluxDB

// Получение текущего timestamp в коде

JavaScript  Math.floor(Date.now() / 1000)
Python      int(time.time())
PHP         time()
Go          time.Now().Unix()
Java        Instant.now().getEpochSecond()
Ruby        Time.now.to_i
Bash        date +%s

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

В: Unix timestamp — это UTC или местное время?

О: Всегда UTC. Целое число — это абсолютный момент без часового пояса; пояс применяется только при отображении в виде даты. Храните в UTC, показывайте в местном времени.

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

О: Обычно перепутаны секунды и миллисекунды: 13-значное значение, прочитанное как секунды, даёт примерно 55 000 год, а 10-значное, прочитанное как миллисекунды, — январь 1970 года. Также проверьте преобразование часового пояса и не является ли значение Windows FILETIME или датой Excel.

В: Как високосные секунды влияют на Unix timestamp?

О: Никак. Unix-время считает ровно 86 400 секунд в сутки и игнорирует високосные секунды: их повторяют или «размазывают» (leap smear). Для почти всех приложений этого достаточно; для научных измерений используйте TAI.

В: Есть ли другие эпохи, кроме Unix?

О: Да: NTP использует 1900-01-01, Windows FILETIME — 1601-01-01 (шаг 100 нс), Excel считает дни с 1899-12-30, Mac HFS+ использовал 1904-01-01. Если значение сильно отличается от текущего Unix-числа, это, вероятно, один из таких вариантов.

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