Перевод Unix timestamp в дату по московскому времени и в Excel

30 Октябрь, 2026 • Руководства • 37 просмотров

Настенные часы над столом с ноутбуком, на экране таблица, рядом настольный календарь

Как перевести Unix timestamp в дату онлайн, в Excel и Google Таблицах, отличить секунды от миллисекунд и правильно получить московское время UTC+3.

Unix timestamp это количество секунд, прошедших с полуночи 1 января 1970 года по UTC. Чтобы перевести его в дату, разделите метку на 86 400 (столько секунд в сутках) и прибавьте результат к 1 января 1970 года, а для московского времени добавьте ещё 3 часа (это верно для дат начиная с 26 октября 2014 года).

Чаще всего путают секунды с миллисекундами или принимают время по UTC за местное.

Секунды или миллисекунды в Unix timestamp

Подсказку даёт число цифр. Для современных дат метка из 10 цифр обычно записана в секундах, а метка из 13 цифр в миллисекундах. Точнее единицу скажет документация системы, из которой взята метка.

Цифр в меткеЕдиницаЧто сделать
10секундывставить как есть
13миллисекундыразделить на 1 000 или в Google Таблицах указать единицу 2
16микросекундыразделить на 1 000 000 или указать единицу 3 в EPOCHTODATE

Десять цифр метка в секундах имеет для дат с 9 сентября 2001 года до 20 ноября 2286 года, так что для современных меток в логах и выгрузках правило работает.

Если дата получилась в далёком будущем или программа выдала ошибку, скорее всего, миллисекунды посчитали секундами. Если дата оказалась в январе 1970 года, ошибка обратная. Программа ждала миллисекунды, а получила секунды, и число вышло в тысячу раз меньше нужного.

Часовой пояс при переводе Unix timestamp

В самой метке времени нет часового пояса. Отсчёт всегда идёт от одного и того же момента по UTC, а пояс появляется только тогда, когда число показывают в виде даты.

Московское время по закону «Об исчислении времени» соответствует UTC+3. Так сказано в статье 5 закона № 107-ФЗ (редакция от 14 апреля 2023 года, текст проверен 29 октября 2026 года). Всего эта статья устанавливает 11 часовых зон, от UTC+2 в Калининградской области до UTC+12, поэтому для других регионов смещение будет другим. Для постоянного смещения UTC+N в таблице прибавляйте N/24 вместо 3/24, а для поясов с переходом на летнее время такая поправка в части года ошибётся.

Для старых меток учитывайте историю. По справке КонсультантПлюс (проверено 29 октября 2026 года) нынешний порядок действует с 2 часов 26 октября 2014 года, а до этого московское время соответствовало UTC+4. Для дат раньше этого дня прибавка 3/24 даст ошибку на час, а для ещё более ранних дат смещение тоже могло быть другим.

Как перевести Unix timestamp в дату в Excel

В Excel метку переводят формулой =A1/86400+ДАТА(1970;1;1), а для московского времени к ней прибавляют 3/24.

  1. Вставьте метки в столбец A, начиная с ячейки A1.
  2. В ячейку B1 введите =A1/86400+ДАТА(1970;1;1). Это дата и время по UTC.
  3. Для московского времени используйте =A1/86400+ДАТА(1970;1;1)+3/24. Значение 3/24 это три часа как часть суток.
  4. Если вместо даты видно число или не видно времени, задайте ячейке формат даты и времени.
  5. Протяните формулу вниз на остальные строки.

Если метка в миллисекундах, сначала разделите её на 1 000, то есть замените в формуле A1 на A1/1000.

Для проверки возьмите метку 1793276763. Она соответствует 29 октября 2026 года, 12 часам 26 минутам 3 секундам по UTC, по московскому времени это 15 часов 26 минут 3 секунды.

Системы дат 1900 и 1904

Excel хранит даты как серийные числа. По справке Microsoft (проверено 29 октября 2026 года), в системе 1900 дате 1 января 1900 года соответствует число 1. Там же сказано, что по умолчанию Excel для Windows работает в системе 1900, а Excel для Mac в системе 1904, и разница между ними составляет 1 462 дня. Но в другой справке Microsoft о системах дат уточняется, что во всех новых версиях Excel даты считаются по системе 1900, а система 1904 использовалась в более старых версиях. Так что книгу с системой 1904 скорее можно встретить среди старых файлов.

Поэтому пишите в формуле ДАТА(1970;1;1), а не готовое число 25569, которое часто советуют. Число 25569 соответствует 1 января 1970 года только в системе 1900, и в книге с системой 1904 результат сместится на 1 462 дня. Функция ДАТА считает дату по системе текущей книги, так что формула с ней должна работать в обеих системах. В книге с системой 1904 мы это не проверяли, поэтому сверьте одну строку с онлайн-инструментом.

Как перевести Unix timestamp в дату в Google Таблицах

В Google Таблицах для этого есть функция EPOCHTODATE(временная_метка; [единица]), она возвращает дату и время по UTC.

По справке Google (проверено 29 октября 2026 года), второй аргумент задаёт единицу. Значение 1 означает секунды и используется по умолчанию, 2 означает миллисекунды, 3 микросекунды. Время возвращается по всемирному координированному времени, а не по часовому поясу из настроек таблицы. Отрицательные метки, то есть даты до 1970 года, функция не принимает, а дробные доли миллисекунд отбрасывает.

Формула =EPOCHTODATE(A1) вернёт время по UTC. Для московского времени добавьте 3/24, получится =EPOCHTODATE(A1)+3/24. Для метки в миллисекундах укажите вторым аргументом 2.

Готовые формулы для Excel и Google Таблиц

Формулы ниже рассчитаны на метку в ячейке A1. Мы собрали их по справкам Microsoft и Google, но в самих программах не запускали, поэтому перед обработкой большого файла проверьте формулу на одной известной метке.

ПрограммаМетка и результатФормула
Excelсекунды, UTC=A1/86400+ДАТА(1970;1;1)
Excelсекунды, МСК=A1/86400+ДАТА(1970;1;1)+3/24
Excelмиллисекунды, МСК=A1/1000/86400+ДАТА(1970;1;1)+3/24
Google Таблицысекунды, UTC=EPOCHTODATE(A1)
Google Таблицысекунды, МСК=EPOCHTODATE(A1)+3/24
Google Таблицымиллисекунды, МСК=EPOCHTODATE(A1;2)+3/24

Перевод Unix timestamp в дату в JavaScript

В JavaScript метку в секундах нужно умножить на 1 000, потому что объект Date работает с миллисекундами.

В документации MDN (проверено 29 октября 2026 года) сказано, что объект Date содержит число миллисекунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года. Этот момент называют «эпохой Unix». Конструктор тоже ждёт миллисекунды, и метку в секундах передают в виде new Date(1793276763 * 1000). Число в примере условное и не относится к какому-либо событию.

Если передать в new Date() метку в секундах без умножения, вы получите дату в январе 1970 года. Метод toString() показывает дату в часовом поясе устройства, а toUTCString() по UTC.

Онлайн-перевод в инструменте «Unix Timestamp в Дату»

Если таблица не нужна и надо перевести одну метку, удобнее онлайн-инструмент. Инструмент «Unix Timestamp в Дату» сделали мы, команда Digily Link, и пользоваться им можно без регистрации.

  1. Откройте инструмент. В поле «Метка времени Unix» сразу стоит текущее время сервера, замените его своей меткой.
  2. Проверьте длину числа. Инструмент считает, что метка указана в секундах. Если в числе 13 цифр, это миллисекунды, поэтому уберите последние три цифры перед вставкой. Доли секунды при этом пропадут.
  3. Нажмите «Отправить».
  4. Посмотрите результат. Он показывается дважды, в строке «UTC» и в строке «Ваш часовой пояс».

Расчёт идёт в браузере, и «Ваш часовой пояс» означает пояс вашего устройства. Если устройство настроено не на московское время, возьмите строку «UTC» и прибавьте 3 часа. Даты до 1970 года (отрицательные метки) инструмент не принимает. Результат выводится в стандартном текстовом формате JavaScript, поэтому дни недели и месяцы будут английскими сокращениями.

Перевести метку времени в дату онлайн

Обратный перевод даты в Unix timestamp

Для обратной задачи есть отдельный инструмент «Дата в Unix Timestamp». В нём вы указываете год, месяц, день, часы, минуты и секунды, а затем выбираете часовой пояс из списка. Метку считает сервер. Это удобно, когда нужно проверить формулу из таблицы или подставить метку в запрос к API. Открыть его можно по ссылке перевести дату в Unix timestamp.

0 из 0 оценок