Расчёт даты из Unix timestamp: формула, примеры и онлайн-калькулятор

📐 Математика и учёбаОбновлено: 17 июля 2026 г.4 мин чтения
Вы когда-нибудь видели число вроде 1745712000 и не знали, что это за дата? Unix timestamp — это количество секунд с 1 января 1970 года. Разберемся, как превратить его в понятную дату и обратно, используя простую формулу, примеры и онлайн-калькуляторы.
⚡ Коротко: главное
  • Unix timestamp — это количество секунд, прошедших с 1 января 1970 года 00:00:00 UTC.
  • Формула перевода: Дата = 1970-01-01 + (timestamp / 86400) дней, где 86400 — количество секунд в сутках.
  • Для перевода даты в timestamp нужно вычислить количество дней с 1970-01-01, умножить на 86400 и учесть часовой пояс.
  • В 2026 году для точного перевода учитывайте високосные годы, но основной алгоритм не меняется.

Что такое Unix timestamp и зачем он нужен?

Представьте, что время — это непрерывная линия, а Unix timestamp — это метка на этой линии, которая показывает, сколько секунд прошло с 1 января 1970 года (начала эпохи Unix). Это как номер шага от старта. Зачем это нужно? Компьютерам удобнее считать секунды, чем разбираться с месяцами и високосными годами. Timestamp используется в базах данных, логах, API — везде, где важна точность и универсальность. Например, когда вы загружаете фото в соцсеть, сервер может сохранить timestamp момента съемки. Поняв, как перевести timestamp в дату, вы сможете расшифровать любое такое число.

Формула перевода Unix timestamp в дату

Формула простая:

Дата = 1970-01-01 + (timestamp / 86400) дней

Где:

  • timestamp — заданное количество секунд;
  • 86400 — количество секунд в одном дне (60 × 60 × 24);
  • 1970-01-01 — начало отсчета эпохи Unix.

Результат — количество дней, прошедших с начала эпохи. Добавив их к 1 января 1970 года, получим дату. Обратите внимание: timestamp обычно задается в UTC, поэтому при переводе в локальное время нужно учесть часовой пояс (например, +3 часа для Москвы).

Пример 1: Простой перевод timestamp в дату

Допустим, у нас есть timestamp 1745712000. Как получить дату?

  1. Шаг 1. Делим timestamp на 86400: 1745712000 ÷ 86400 = 20205 дней.
  2. Шаг 2. Прибавляем 20205 дней к 1970-01-01. Это примерно: 1970 + 20205/365.25 ≈ 1970 + 55.3 года = 2025.3, то есть середина 2025 года.
  3. Шаг 3. Точный расчет (с учетом високосных): 20205 дней = 55 лет + 110 дней (55 лет × 365 + 14 високосных дней = 20075 + 14 = 20089; 20205 - 20089 = 116 дней). От 1970-01-01 + 55 лет = 2025-01-01, + 116 дней = 2025-04-27.
  4. Итог: 1745712000 соответствует 2025-04-27 00:00:00 UTC. Если вы в Москве, добавьте 3 часа — получится 2025-04-27 03:00:00 MSK.

Пример 2: Перевод текущей даты в timestamp

Возьмем сегодняшнюю дату — 17 июля 2026 года (2026-07-17). Переведем в timestamp в UTC. Если у вас московское время, сначала вычтите 3 часа (в UTC 17 июля 2026 00:00 MSK = 16 июля 2026 21:00 UTC). Для простоты будем считать, что дата в UTC — 2026-07-17 00:00:00.

  1. Шаг 1. Количество дней от 1970-01-01 до 2026-07-17: считаем количество полных лет с 1970 по 2025 (56 лет, из них високосных: 1972, 1976, ..., 2024 — 14 високосных). Дней в 56 годах: 56×365 + 14 = 20440 + 14 = 20454 дня. Затем дни с 2026-01-01 по 2026-07-17: январь 31, февраль 28, март 31, апрель 30, май 31, июнь 30, июль 17 = 31+28+31+30+31+30+17 = 198 дней. Всего: 20454 + 198 = 20652 дня.
  2. Шаг 2. Умножаем на 86400: 20652 × 86400 = 1 784 332 800 секунд.
  3. Итог: 2026-07-17 00:00:00 UTC соответствует timestamp 1784332800.

Проверить можно с помощью Калькулятора Unix timestamp на нашем сайте.

Как перевести Unix timestamp в дату
  1. 1
    Запишите timestamp

    Например, 1745712000.

  2. 2
    Разделите на 86400

    Получите количество дней от 1970-01-01.

  3. 3
    Определите целые дни

    Отбросьте дробную часть — это остаток секунд.

  4. 4
    Прибавьте дни к 1970-01-01

    Посчитайте дату, учитывая високосные годы.

  5. 5
    Переведите остаток в часы/минуты

    Разделите остаток секунд на 3600 и 60.

  6. 6
    Скорректируйте часовой пояс

    Если нужно, добавьте смещение от UTC.

Пошаговая инструкция для новичков

Пример 3: Обратный перевод с учетом времени и часового пояса

Пусть timestamp = 1720000000. Нужно получить дату и время в Москве (UTC+3).

  1. Шаг 1. Делим на 86400: 1720000000 ÷ 86400 ≈ 19907.4074 дней. Целая часть 19907 дней.
  2. Шаг 2. Остаток: 1720000000 - 19907×86400 = 1720000000 - 1720004800 = -4800? Ошибка! Правильно: 19907×86400 = 1 720 000 800? Нет, 19907×86400 = 1 720 044 800? Давайте аккуратно: 86400×19907 = 86400×20000 - 86400×93 = 1 728 000 000 - 8 035 200 = 1 719 964 800. Тогда остаток: 1720000000 - 1719964800 = 35200 секунд. Итак, 19907 дней и 35200 секунд.
  3. Шаг 3. 35200 секунд = 9 часов 46 минут 40 секунд (35200 ÷ 3600 = 9.777... часов, остаток 35200 - 9×3600 = 2800 сек; 2800 ÷ 60 = 46.666..., остаток 2800 - 46×60 = 40 сек).
  4. Шаг 4. Дата: 19907 дней от 1970-01-01. Делим на 365.25: примерно 54.5 года. Точнее: 54 года × 365 = 19710 дней, високосных в 1970-2024: 14, итого 19710+14=19724? Нет, надо считать аккуратно. От 1970 до 2024 (54 года) високосных: 1972,1976,...,2020 (13 штук) + 2024 (14-й). 54×365+14=19710+14=19724 дня. 19907 - 19724 = 183 дня после 2024-01-01. 183-й день 2024 года? 2024 високосный, значит 183-й день — это 1 июля? Считаем: январь 31, фев 29, март 31, апр 30, май 31, июнь 30 = 31+29+31+30+31+30=182, 183-й — 1 июля. Итак, дата в UTC: 2024-07-01 09:46:40.
  5. Шаг 5. Добавляем 3 часа для Москвы: 2024-07-01 12:46:40 MSK.

Итак, timestamp 1720000000 соответствует 1 июля 2024 года, 12:46:40 по Москве.

🧠 Проверьте свои знания

1. Сколько секунд в одном дне?

2. Какое начало отсчета у Unix timestamp?

3. Если timestamp равен 0, какая это дата?

4. Как перевести дату в timestamp?

Типичные ошибки при расчетах

  • Забыть про часовой пояс: Timestamp всегда в UTC. Если не скорректировать на свой часовой пояс, можете ошибиться на несколько часов.
  • Не учитывать високосные годы: При ручном счете дней легко пропустить 29 февраля, что приведет к ошибке в 1 день для дат после февраля високосного года.
  • Перепутать порядок: Из timestamp в дату — деление на 86400. Из даты в timestamp — умножение количества дней на 86400. Не наоборот!

Как проверить себя онлайн?

Лучший способ избежать ошибок — воспользоваться Калькулятором даты из Unix timestamp. Просто введите число — и получите дату. А если нужно перевести дату в timestamp, используйте Калькулятор Unix timestamp. Эти инструменты работают в реальном времени и учитывают часовой пояс (если настроить).

Как перевести дату в timestamp быстро и без формул?

Для быстрых вычислений можно использовать онлайн-калькуляторы, но если нужно сделать это в уме, запомните: количество секунд в сутках — 86400, а начало отсчета — 1970. Для оценки можно считать, что 1 год ≈ 31 536 000 секунд (365 дней). Но точные расчеты лучше доверить программам. Наш сайт предлагает не только калькулятор для Unix timestamp, но и смежные инструменты: Калькулятор даты через N дней и Калькулятор даты N дней назад. Они пригодятся в повседневных задачах.

Что делать, если timestamp отрицательный?

Timestamp может быть отрицательным для дат до 1970 года. Например, -86400 соответствует 31 декабря 1969 года. Формула та же: прибавляйте отрицательное количество дней к 1970-01-01. В остальном правила не меняются. Однако большинство систем не поддерживают даты до 1970 года, поэтому на практике это встречается редко.

🧮 Посчитайте сами — инструменты по теме

🧭 Разделы по теме

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

Как перевести Unix timestamp в обычную дату в Excel?

В Excel дата и время хранятся в виде чисел, где 1 = 1 день. Для перевода timestamp в дату разделите его на 86400 и прибавьте к дате 1 января 1970 года: = (A1/86400) + DATE(1970,1,1). Отформатируйте ячейку как дату.

Почему timestamp считается от 1970 года?

1970 год был выбран как начало эпохи Unix из-за удобства: это относительно недавняя дата, и 32-битные целые числа могут охватить около 136 лет. Сейчас чаще используют 64-битные, но стандарт остался.

Что такое Unix timestamp в миллисекундах?

Это количество миллисекунд с 1970-01-01, а не секунд. Чтобы перевести, разделите на 1000. Например, 1745712000000 мс = 1745712000 сек.

Как учесть часовой пояс при переводе?

Timestamp всегда в UTC. Чтобы получить локальное время, добавьте смещение вашего часового пояса: для Москвы +3 часа (или +4 в летнее, если применяется). Или используйте онлайн-калькулятор с выбором часового пояса.

Какой timestamp будет 1 января 2026 года в 00:00 UTC?

Считаем дни от 1970-01-01 до 2026-01-01: 56 лет × 365 + 14 високосных дней = 20454 дня. 20454 × 86400 = 1767225600. Ответ: 1767225600.

Может ли timestamp быть отрицательным?

Да, для дат до 1970 года. Например, -86400 соответствует 31 декабря 1969 года. Такие timestamp редко используются, но формально допустимы.

Какой самый большой timestamp возможен?

Для 32-битного целого со знаком максимум 2147483647 (соответствует 19 января 2038 года). Это известная проблема '2038 года'. 64-битные системы позволяют гораздо большие значения.

Источники и нормативные документы

  1. Wikipedia: Unix time
  2. Руководство по Unix timestamp на MDN

Ещё по теме «Математика и учёба»