> timestamp | epoch | конвертировать <
// Конвертируйте Unix timestamps в даты и даты в timestamps мгновенно
Часы реального времени
Обновляемое в реальном времени отображение 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
Посчитайте цифры, чтобы определить единицу. Путаница между секундами и миллисекундами — самая частая причина неверной даты.
| Цифр | Единица | Пример | Типичный источник |
|---|---|---|---|
| 10 | s | 1711324800 | Unix/Linux, PHP time(), Stripe |
| 13 | ms | 1711324800000 | JavaScript Date.now(), Java |
| 16 | µs | 1711324800000000 | Kafka, Cassandra |
| 19 | ns | 1711324800000000000 | Go 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-числа, это, вероятно, один из таких вариантов.