Подключиться через MCP →

Введите расчет

Оставьте значение по умолчанию, чтобы перевести конкретный момент, или введите текущее время в миллисекундах.

Математическая формула

Реклама

Результатов

Unix-таймстамп (epoch)
1 700 000 000
секунд с 1 января 1970 года UTC
Миллисекунды 1 700 000 000 000
Минут с начала эпохи 28 333 333
Часов с начала эпохи 472 222
Дней с начала эпохи 19 675

Что такое Unix-таймстамп?

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

Временная шкала, начинающаяся с нуля 1 января 1970 года, со счётчиком, растущим к настоящему моменту
Метка времени Unix отсчитывает секунды, прошедшие с начала эпохи — 1 января 1970 года UTC.

Как пользоваться

Введите время в миллисекундах. Чтобы получить текущий Unix-таймстамп («epoch сейчас»), укажите нынешнее время в миллисекундах; в поле по умолчанию подставлено значение для примера. Калькулятор делит его на 1000 и округляет вниз, выдавая целое число секунд — именно такой формат ожидают практически все API, базы данных и языки программирования.

Разбор формулы

Основа преобразования — $$\text{Epoch} = \left\lfloor \dfrac{\text{Time (ms)}}{1000} \right\rfloor$$. Миллисекунды дают точность до тысячных долей секунды, но классический Unix-таймстамп измеряется в целых секундах, поэтому мы берём целую часть (floor), отбрасывая дробную. Дальше, разделив таймстамп на 60, 3600 и 86 400, получаем количество минут, часов и дней соответственно.

$$\left\{ \begin{aligned} \text{Minutes} &= \left\lfloor \tfrac{\text{Epoch}}{60} \right\rfloor \\ \text{Hours} &= \left\lfloor \tfrac{\text{Epoch}}{3600} \right\rfloor \\ \text{Days} &= \left\lfloor \tfrac{\text{Epoch}}{86400} \right\rfloor \end{aligned} \right.$$
Значение в миллисекундах, делённое на 1000 и округлённое вниз для получения секунд эпохи
Деление миллисекунд на 1000 с округлением вниз даёт целые секунды эпохи.

Пример расчёта

Допустим, текущее время равно 1 700 000 000 000 миллисекунд. Делим на 1000 и получаем 1 700 000 000 секунд — это и есть Unix-таймстамп.

$$\left\lfloor \frac{1\,700\,000\,000\,000}{1000} \right\rfloor = 1\,700\,000\,000$$

Разделив 1 700 000 000 на 86 400 и округлив вниз, получаем 19 675 дней с 1 января 1970 года, что соответствует середине ноября 2023 года.

$$\left\lfloor \frac{1\,700\,000\,000}{86\,400} \right\rfloor = 19\,675$$

Частые вопросы

Почему секунды, а не миллисекунды? Изначальный стандарт Unix использует секунды. Метод JavaScript Date.now() возвращает миллисекунды, поэтому часто приходится делить результат на 1000.

Учитываются ли часовые пояса? Нет — Unix-время всегда привязано к UTC. Один и тот же момент имеет одинаковый таймстамп в любой точке Земли.

Что за «проблема 2038 года»? Системы, хранящие таймстамп в виде знакового 32-битного целого числа, переполнятся 19 января 2038 года. Современные 64-битные системы от этой проблемы избавлены.

Последнее обновление: