> 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.
// Известные значения epoch
Удобные опорные точки при отладке timestamp. Все даты указаны в UTC.
| Значение epoch | Дата и время (UTC) |
|---|---|
| 0 | 1970-01-01 00:00:00 |
| 86400 | 1970-01-02 00:00:00 |
| 946684800 | 2000-01-01 00:00:00 |
| 1000000000 | 2001-09-09 01:46:40 |
| 1234567890 | 2009-02-13 23:31:30 |
| 1700000000 | 2023-11-14 22:13:20 |
| 2000000000 | 2033-05-18 03:33:20 |
| 2147483647 | 2038-01-19 03:14:07 |
| 4294967295 | 2106-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-битных значений хватит на сотни миллиардов лет.