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

📐 Математика и учёбаОбновлено: 19 июля 2026 г.4 мин чтения
Вы когда-нибудь видели длинное число вроде 1758297600 и гадали, что оно значит? Это unix timestamp — количество секунд, прошедших с 1 января 1970 года. Рассказываем, как его считать вручную, где применять и как быстро конвертировать онлайн.
⚡ Коротко: главное
  • Unix timestamp — это количество секунд от 1 января 1970 года 00:00 UTC.
  • Формула: timestamp = количество дней × 86400 + секунды текущего дня.
  • Текущий unix timestamp на 19 июля 2026 12:00 UTC — 1784558400.
  • Для конвертации даты в timestamp используйте онлайн-калькуляторы, чтобы избежать ошибок с високосными годами.
  • Частая ошибка — забыть про часовой пояс: timestamp всегда в UTC.

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

Unix timestamp (или время Unix) — это целое число, которое представляет количество секунд, прошедших с 1 января 1970 года 00:00:00 UTC (так называемая «эпоха Unix»). Представьте, что вы считаете каждый свой шаг с момента рождения — так и timestamp считает секунды с начала эпохи. Он используется в программировании, базах данных, логах и везде, где нужно компактно хранить дату и время. Например, сервер может записать событие как 1784558400 — это 19 июля 2026 года, 12:00 UTC.

Основное преимущество — timestamp легко сравнивать, сортировать и вычислять разницу. Вам не нужны сложные структуры дат: просто вычтите одно число из другого и получите разницу в секундах.

Формула расчёта unix timestamp: разбор каждой буквы

Формула простая, но требует аккуратности с единицами измерения. Базовое выражение:

timestamp = (количество_дней_от_1970) × 86400 + (секунды_в_текущем_дне)

Расшифровка:

  • количество_дней_от_1970 — сколько полных дней прошло с 1 января 1970 года до даты, которую вы считаете. Включает високосные годы.
  • 86400 — количество секунд в одном дне (24 × 60 × 60).
  • секунды_в_текущем_дне — сколько секунд прошло с начала текущего дня до нужного момента: часы × 3600 + минуты × 60 + секунды.

Например, для 19 июля 2026 года, 12:00:00 UTC:

  • Дней от 1970: 20632 (с учётом високосных).
  • Секунд в дне: 12 × 3600 = 43200.
  • Итого: 20632 × 86400 + 43200 = 1782604800 + 43200 = 1782648000. Но это не совсем точно — на практике используют готовые таблицы или онлайн-калькуляторы, так как ручной подсчёт високосных лет трудоёмок.

Три примера расчёта: от простого к сложному

Пример 1. Простой: 1 января 2025 года, 00:00:00 UTC

  1. Считаем количество дней с 1970 года до 1 января 2025: 20089 дней (високосные: 1972, 1976, ..., 2024 — всего 14).
  2. Секунд в дне: 0 × 3600 + 0 × 60 + 0 = 0.
  3. Итог: 20089 × 86400 + 0 = 1 735 689 600. Это и есть timestamp.

Пример 2. Средний: 14 февраля 2026 года, 15:30:00 UTC

  1. Дней от 1970 до 14 февраля 2026: 20488 (с учётом високосных 2024 и 2028? Нет, 2028 ещё не наступил).
  2. Секунд в дне: 15 × 3600 = 54000; 30 × 60 = 1800; итого 55800.
  3. Timestamp: 20488 × 86400 + 55800 = 1 770 163 200 + 55800 = 1 770 219 000.

Пример 3. Сложный: 31 декабря 2026 года, 23:59:59 UTC

  1. Дней от 1970: 20819.
  2. Секунд: 23 × 3600 = 82800; 59 × 60 = 3540; +59 = 86399.
  3. Timestamp: 20819 × 86400 + 86399 = 1 798 761 600 + 86399 = 1 798 847 999.

Обратите внимание: последние секунды года — это 23:59:59, а не 24:00:00. В unix timestamp, как и в обычном времени, нет 60-й секунды (за исключением високосных секунд, но их игнорируют).

Частые случаи: високосные годы, часовые пояса и 2038 год

Високосные годы добавляют 1 день каждые 4 года (кроме вековых, которые делятся на 100, но не на 400). С 1970 по 2026 год включительно високосные: 1972, 1976, ..., 2024 — всего 14 штук. Если вы считаете вручную, не забудьте их прибавить к количеству дней.

Часовые пояса: timestamp всегда в UTC. Если вы хотите получить timestamp для момента в Москве (UTC+3), сначала приведите время к UTC. Например, 19 июля 2026 15:00 MSK — это 12:00 UTC. Никогда не используйте локальное время напрямую.

Проблема 2038 года: для 32-битных систем максимальный timestamp — 2147483647, что соответствует 19 января 2038 года. После этого числа вызовут переполнение. На 2026 год практически все системы уже 64-битные, так что для большинства пользователей это не актуально.

Алгоритм ручного расчёта unix timestamp
  1. 1
    Записать дату и время

    Например, 19 июля 2026, 12:00 UTC

  2. 2
    Сосчитать дни от 1970

    С учётом високосных годов до даты

  3. 3
    Умножить дни на 86400

    86400 = 24 × 60 × 60

  4. 4
    Вычислить секунды дня

    Часы × 3600 + минуты × 60 + секунды

  5. 5
    Сложить результаты

    Получаем unix timestamp

  6. 6
    Проверить онлайн

    Используйте калькулятор для сверки

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

5 типичных ошибок при расчёте unix timestamp

  1. Забыть про високосные годы. Разница в один день даёт ошибку в 86400 секунд — почти сутки.
  2. Путать UTC и локальное время. Если вы считаете для пользователя в Москве, не забудьте вычесть 3 часа.
  3. Использовать 86400 для неполного дня. Формула работает только для целых дней; для конкретного момента нужно добавлять секунды текущего дня.
  4. Не учитывать, что 1970 — не високосный. Первый високосный после эпохи — 1972.
  5. Округлять в промежуточных вычислениях. Все расчёты должны быть точными до секунды.
Совет: Чтобы избежать этих ошибок, используйте онлайн-калькулятор — Unix timestamp конвертер онлайн сделает всё за секунду.

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

1. Что такое unix timestamp?

2. Какая формула расчёта?

3. Какой часовой пояс использует timestamp?

4. Что произойдёт с 32-битными системами в 2038 году?

Мини-задачки для самопроверки (с ответами)

  1. Вопрос: Чему равен timestamp для 1 января 2026 года, 00:00:00 UTC?
    Ответ: 1767225600 (с учётом високосных годов).
  2. Вопрос: Если timestamp = 1800000000, какая это дата?
    Ответ: Примерно 10 января 2027 года (точное значение можно получить через конвертер).
  3. Вопрос: Сколько секунд между 1 января 2025 и 1 января 2026?
    Ответ: 365 × 86400 = 31536000 (2025 не високосный).
  4. Вопрос: Верно ли, что timestamp 0 соответствует 1 января 1970?
    Ответ: Да, 00:00:00 UTC.

Как упростить расчёт: онлайн-калькуляторы

Вручную считать дни от 1970 года — утомительно и чревато ошибками. Гораздо проще использовать специальные инструменты. На нашем сайте вы найдёте несколько калькуляторов:

Все калькуляторы учитывают часовой пояс (можно выбрать ваш) и високосные годы автоматически. Просто введите данные — и получите результат.

Итоги: главное о unix timestamp

Unix timestamp — это универсальный формат времени для программистов, но он полезен и обычным пользователям, например, для перевода даты в логах. Основные выводы:

  • Формула: timestamp = дни × 86400 + секунды.
  • Всегда используйте UTC, иначе получите неверный результат.
  • Учитывайте високосные годы при ручном расчёте.
  • Для быстрого перевода используйте онлайн-калькуляторы — это сэкономит время и исключит ошибки.
  • Проблема 2038 года для 32-битных систем больше неактуальна.

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

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

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

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

Разделите timestamp на 86400, чтобы получить количество дней, прибавьте их к 1 января 1970 года, а остаток преобразуйте в часы, минуты и секунды. Удобнее использовать онлайн-калькулятор.

Как получить текущий unix timestamp?

В большинстве языков программирования есть функция времени. Например, в JavaScript: Math.floor(Date.now() / 1000). Или используйте онлайн-сервисы, которые показывают текущий timestamp.

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

Так исторически сложилось в операционной системе Unix: разработчики выбрали 1 января 1970 года как начало отсчёта из-за простоты вычислений и совместимости.

Что такое проблема 2038 года?

Для 32-битных систем со знаком максимальный timestamp равен 2^31 - 1 (2147483647). 19 января 2038 года в 03:14:07 UTC значение переполнится и станет отрицательным, что вызовет ошибки. На 2026 год большинство систем 64-битные, поэтому проблема неактуальна.

Как учесть високосные годы при ручном расчёте?

Посчитайте количество високосных лет от 1970 до нужной даты: каждый год, делящийся на 4, но не на 100 (кроме делящихся на 400). Прибавьте это число к общему количеству дней.

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

Да, для дат до 1 января 1970 года timestamp будет отрицательным. Например, 1 января 1960 года соответствует -315619200.

Как конвертировать timestamp с учётом часового пояса?

Сначала получите timestamp в UTC, затем добавьте или вычтите смещение часового пояса в секундах. Например, для Москвы (UTC+3) прибавьте 10800 секунд (3 часа).

Есть ли разница между Unix timestamp и Epoch time?

Обычно эти термины используют как синонимы. Epoch time — это общее название для времени, измеряемого как количество секунд от начала эпохи. Unix timestamp — частный случай с эпохой 1 января 1970 года.

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

  1. MDN: Date.now()
  2. Wikipedia: Unix time

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