Конвертер времени Epoch
Преобразование меток времени Unix в даты UTC или даты в секунды эпохи.
Как пользоваться этим конвертером времени Epoch
- 1 Выберите режим конвертации
Выберите «Epoch в дату» или «Дата в Epoch» в поле «Режим конвертации».
- 2 Для конвертации Epoch в дату
Введите временную метку Unix в секундах в поле «Временная метка Epoch (секунды)».
- 3 Для конвертации даты в Epoch
Выберите дату в поле «Дата в календаре», затем установите часы (UTC), минуты (UTC) и секунды (UTC) по мере необходимости.
- 4 Посмотреть результат
Калькулятор показывает значение UTC, миллисекунды Unix и день недели.
Как работает этот конвертер времени epoch
Этот конвертер времени epoch выполняет преобразование между метками времени Unix и датами UTC в удобном для чтения формате. Время Unix — также называемое временем POSIX или временем epoch — это количество секунд, прошедших с начала эпохи Unix, которая определена как полночь UTC 1 января 1970 года (1970-01-01T00:00:00Z). Это представление в виде одного целого числа является стандартом де-факто для хранения и передачи меток времени в базах данных, API, лог-файлах, токенах JWT и практически во всех современных языках программирования. Конвертер работает в обоих направлениях: ввод числовой метки времени возвращает соответствующую дату UTC, день недели и эквивалент в миллисекундах, а ввод календарной даты и времени возвращает значение epoch в секундах и миллисекундах.
Время Unix = количество секунд, прошедших с 1970-01-01T00:00:00Z Чтобы преобразовать временную метку Unix 1,700,000,000 в дату: начиная с 1970-01-01 00:00:00 UTC, добавьте 1,700,000,000 секунд. Это равно 19,675 дням, 22 часам, 13 минутам и 20 секундам. Полученная дата UTC — 2023-11-14 в 22:13:20 UTC, что соответствует вторнику. Эквивалент в миллисекундах — 1,700,000,000,000. И наоборот, ввод 14 ноября 2023 года в 22:13:20 UTC возвращает значение эпохи, равное ровно 1,700,000,000.
Метка времени 0 преобразуется в 1970-01-01 00:00:00 UTC (четверг). Эквивалент в миллисекундах — 0.
Временная метка 1,704,000,000 преобразуется в 2023-12-31 05:20:00 UTC (воскресенье). Временная метка 1,704,024,000 преобразуется в 2023-12-31 12:00:00 UTC (воскресенье).
- ✓ Все расчеты производятся в UTC. Для перевода в местное время необходимо применить соответствующее смещение часового пояса после конвертации.
- ✓ Високосные секунды не учитываются. Как и POSIX, этот конвертер считает, что в сутках ровно 86 400 секунд, что соответствует поведению большинства языков программирования и операционных систем.
- ✓ Отрицательные метки времени представляют даты до начала эпохи (1 января 1970 года). Например, −86400 соответствует 31 декабря 1969 года.
- ✓ Метки времени в миллисекундах следует разделить на 1 000 перед вводом; конвертер принимает секунды на входе и отображает эквивалент в миллисекундах в результатах.
- JavaScript Date.now() и Java System.currentTimeMillis() возвращают миллисекунды, а не секунды — разделите значение на 1 000 перед вводом или используйте вывод в миллисекундах для сравнения.
- Проблема 2038 года затрагивает 32-битные знаковые целые числа меток времени, которые переполнятся 19 января 2038 года в 03:14:07 UTC. Большинство современных систем перешли на 64-битные метки времени.
- При отладке ответов API или лог-файлов ищите метки времени, которые отличаются ровно на 3 600 или 7 200 секунд — это обычно указывает на примененное (или пропущенное) смещение часового пояса в процессе обработки.
- Время эпохи всегда монотонно возрастает (без учета високосных секунд), что делает его идеальным для сортировки событий, расчета длительности и создания уникальных идентификаторов на основе времени.
- The Open Group Base Specifications — Seconds Since the Epoch — Временная модель POSIX
- RFC 3339 — Date and Time on the Internet: Timestamps — формат временных меток интернета
Что такое метки времени Unix?
Метка времени Unix — это количество секунд, прошедших с полуночи UTC 1 января 1970 года (эпоха Unix). Это целое число является стандартом де-факто для представления времени в базах данных, API, лог-файлах и большинстве языков программирования. Поскольку оно не зависит от часового пояса и монотонно возрастает, оно упрощает сортировку, расчет длительности и сравнение времени. JavaScript Date.now() и многие API возвращают миллисекунды (1,000 × секунд), поэтому разделите значение на 1,000 перед вводом миллисекунд здесь. Отрицательные метки времени представляют даты до 1970 года; например, −86400 — это ровно один день до начала эпохи.
Варианты использования времени эпохи для разработчиков
Разработчики используют метки времени Unix при сохранении времени событий в базах данных, сериализации дат в JSON API, генерации ключей кэша на основе времени и отладке записей в логах. В столбцах баз данных метки времени часто хранятся как целые числа для эффективного индексирования и запросов по диапазону. Ответы API часто возвращают секунды или миллисекунды эпохи, чтобы избежать неопределенности часовых поясов. При отладке преобразование необработанной метки времени из лога или JWT в понятную человеку дату быстро показывает, верно ли значение или оно смещено из-за часового пояса. Время эпохи также используется для ограничения частоты запросов, истечения срока действия сессий и генерации сортируемых уникальных идентификаторов в распределенных системах.
Часто задаваемые вопросы о конвертере времени эпохи
Что такое эпоха Unix? +
Эпоха Unix — это точка отсчета, от которой измеряется время Unix: полночь UTC 1 января 1970 года (1970-01-01T00:00:00Z). Метка времени 0 соответствует этому моменту.
Почему в моей метке времени JavaScript больше цифр? +
Метод Date.now() в JavaScript возвращает миллисекунды с начала эпохи, а не секунды. Разделите на 1000, чтобы перевести в формат секунд, используемый в этом инструменте, или сравнивайте напрямую с результатом в миллисекундах.
Можно ли вводить отрицательную метку времени? +
Да. Отрицательные значения представляют даты до начала эпохи. Например, −86400 соответствует 1969-12-31T00:00:00Z, ровно за один день до начала эпохи.
Учитываются ли високосные секунды? +
Нет, и это соответствует стандарту POSIX. Время POSIX предполагает, что в сутках ровно 86 400 секунд. 27 високосных секунд, добавленных с 1972 года, не учитываются по отдельности, поэтому UTC и Unix-время могут различаться на одну секунду в моменты вставки високосных секунд.
Что такое «проблема 2038 года»? +
Системы, хранящие Unix-время в виде 32-битного знакового целого числа, переполнятся 19 января 2038 года в 03:14:07 UTC. Значение станет большим отрицательным числом, что приведет к датам в 1901 году. Большинство современных платформ используют 64-битные метки времени, которые не переполнятся более 290 миллиардов лет.
Используйте это как оценку и подтверждайте важные решения у квалифицированного специалиста.
Введенные данные остаются в браузере, если только будущие функции явно не сообщат об обратном.
Похожие калькуляторы для разработчиков
Изучите смежные калькуляторы, чтобы сравнить результаты и допущения.
Конвертер цветов
Мгновенно конвертируйте цвета между форматами HEX, RGB и HSL.
Форматировщик JSON
Проверка и форматирование JSON с анализом структуры.
Генератор UUID
Мгновенная генерация случайных идентификаторов UUID v4.
Калькулятор подсетей / CIDR
Рассчитайте маску подсети, сетевой адрес, широковещательный адрес и доступные хосты.
Калькулятор систем счисления
Преобразование целого числа в двоичную, восьмеричную, десятичную и шестнадцатеричную системы.
Калькулятор разницы дат
Рассчитайте количество дней, недель, месяцев и лет между двумя датами.