Калькулятор расчета дат

Кадровый учёт, расчёт отпусков, планирование задач или банальное любопытство – все эти сценарии упираются в одну операцию: выяснить точное количество дней между событиями, определить день недели или прибавить к дате несколько месяцев. Ошибка на один день в Excel может стоить штрафа, а в договоре – судебного спора.

Калькулятор расчета дат выполняет такие вычисления мгновенно и без ошибок ручного счёта. Он охватывает сложение и вычитание дней, месяцев и лет, разницу между датами, определение дня недели и подсчёт рабочих дней.

Режим расчёта
Разница между датами
Справка по расчётам

Високосный год – делится на 4, но не на 100, либо делится на 400.

Сложение месяцев: если итоговый день не существует в целевом месяце, используется последний день месяца (31 января + 1 месяц = 28 или 29 февраля).

Рабочие дни – исключаются субботы и воскресенья. Государственные праздники не учитываются: сверяйтесь с производственным календарём на текущий год.

Поддерживаемый диапазон: 1600–4000 годы григорианского календаря.

Калькулятор выше оперирует датами григорианского календаря в диапазоне от 1600 до 4000 года, автоматически учитывая високосные годы и переменную длину месяцев. Ниже разберём, как работают те же вычисления вручную.

Как вычислить разницу между датами без калькулятора?

Прямое вычитание дат обманчиво: месяцы содержат разное количество дней, а годы бывают високосными. Ручной метод опирается на порядковые номера.

  1. Переведите обе даты в количество дней от начала года (1 января – день 1, 31 декабря – день 365 или 366).
  2. Если годы совпадают, разница равна разности этих номеров.
  3. Если годы разные, добавьте к разности полные годы между датами: 365 дней за каждый обычный год и 366 за каждый високосный.

Пример. Сколько дней между 15 марта 2025 года и 10 мая 2026 года?

  • 2025 год – невисокосный. 15 марта – день номер 74 (31 день января + 28 февраля + 15 марта).
  • Дней до конца 2025 года: 365 − 74 = 291.
  • 2026 год – невисокосный. 10 мая – день номер 130 (31 + 28 + 31 + 30 + 10).
  • Итого: 291 + 130 = 421 день.

Этот метод работает безотказно, но требует таблицы порядковых номеров или утомительного подсчёта. Калькулятор расчета дат делает то же самое за секунду.

Как прибавить или отнять от даты N дней, месяцев или лет?

Сложение и вычитание дней

Алгоритм идентичен вычислению разницы:

  • Определите порядковый номер исходного дня в году.
  • Прибавьте или отнимите N дней.
  • Если результат вышел за границы года, скорректируйте номер года и порядковый номер.

При переходе через границу года важно знать, сколько дней было в исходном году – 365 или 366.

Сложение месяцев и лет

При сложении месяцев возникает неоднозначность: какая дата получится из 31 января + 1 месяц? 31 февраля не существует.

Общепринятый подход – правило последнего дня месяца (last day of month rule):

  • Увеличьте месяц на заданное число, при необходимости увеличив год.
  • Если день исходной даты превышает количество дней в результирующем месяце, днём становится последний день этого месяца.

Пример: 31 января + 1 месяц = 28 февраля (или 29 в високосный год).

При вычитании логика аналогична. Это правило используется в банковской сфере и трудовом законодательстве при расчёте сроков.

Как определить день недели по дате?

Самый известный ручной метод – алгоритм Зеллера (Zeller’s congruence). Для григорианского календаря:

h = (q + floor(13*(m+1)/5) + K + floor(K/4) + floor(J/4) - 2*J) mod 7

Где:

  • q – число месяца (1–31)
  • m – номер месяца (март = 3, …, декабрь = 12, январь = 13 предыдущего года, февраль = 14 предыдущего года)
  • K – год столетия (год mod 100)
  • J – номер столетия (floor(год / 100))

Результат h – день недели: 0 – суббота, 1 – воскресенье, …, 6 – пятница.

Пример. 9 мая 2026 года.

  • q = 9, m = 5, год = 2026 → K = 26, J = 20.
  • h = (9 + floor(136/5) + 26 + floor(26/4) + floor(20/4) - 220) mod 7
  • h = (9 + 15 + 26 + 6 + 5 - 40) mod 7 = 21 mod 7 = 0 → суббота.

Для бытового применения алгоритм громоздкий. Калькулятор расчета дат выполняет его мгновенно и без ошибок в ретроспективных датах.

Расчёт рабочих дней: что исключаем и как считаем

Рабочие дни – это календарные дни за вычетом выходных (обычно суббота и воскресенье) и официальных праздничных дней.

Базовый алгоритм для диапазона:

  • Подсчитайте полные недели между датами – каждая даёт 5 рабочих дней.
  • Для остатка дней проверьте каждый день отдельно и исключите выходные.

Праздничные дни требуют производственного календаря, который ежегодно утверждается правительством и учитывает переносы. Данные о праздниках уточняйте в официальном производственном календаре на текущий год – нормативная база ежегодно обновляется.

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

  1. Невключение начальной даты. Вопрос «сколько дней с 1 по 10 января?» имеет два ответа: 9 (разница) или 10 (включая обе границы). Всегда уточняйте, что именно требуется.
  2. Игнорирование високосных годов. 29 февраля раз в четыре года меняет расчёт на целый день.
  3. Прямое сложение месяцев без учёта переменной длины. 30 января + 1 месяц даёт 28/29 февраля, а не 30-е число.
  4. Смешение календарных и рабочих дней. В договорах это принципиально разные сроки.
  5. Ручной ввод в Excel без проверки. Формат ячейки «дата» против «текст» – источник невидимых ошибок.

Калькулятор расчета дат исключает все эти риски. Он даёт однозначный результат по единому алгоритму, учитывающему високосные циклы григорианского календаря и переменную длину месяцев.

Юлианская дата: что это и зачем она нужна

В основе любого калькулятора расчёта дат лежит сквозная нумерация дней – юлианская дата (JD) . Это количество суток, прошедших от полудня 1 января 4713 года до н. э. по юлианскому календарю.

Преобразование календарной даты в JD сводит любые операции к простой арифметике: разница дат = разница JD, прибавление N дней = JD + N. После вычислений JD переводится обратно в григорианскую дату.

Именно этот подход реализован в калькуляторе выше. Он гарантирует корректность расчётов на всём поддерживаемом диапазоне дат без исключений и частных случаев.

Часто задаваемые вопросы

Как посчитать количество дней между двумя датами?
Разница вычисляется через вычитание порядковых номеров дней в году с поправкой на разницу лет. Каждому году соответствует 365 или 366 дней в зависимости от високосности. Калькулятор автоматически учитывает эти параметры.
Какой день недели был в конкретную дату?
День недели определяется алгоритмом Зеллера или правилом Судного дня. Зная смещение для года, месяца и числа, можно вычислить день с точностью до одного из семи вариантов – от воскресенья до субботы.
Учитывает ли калькулятор високосные годы?
Да. Год считается високосным, если он делится на 4, но не делится на 100, за исключением тех, что делятся на 400. Например, 2000 год – високосный, а 1900-й и 2100-й – нет.
Можно ли рассчитать только рабочие дни?
Да, калькулятор позволяет исключить субботы и воскресенья из диапазона между датами. Для расчета с учетом государственных праздников используйте производственный календарь на соответствующий год, поскольку праздники ежегодно переносятся.
Что такое юлианская дата?
Юлианская дата – это непрерывный счёт дней от полудня 1 января 4713 года до н. э. по юлианскому календарю. Астрономы и программисты используют её как эталонный способ однозначного вычисления интервалов между любыми датами без привязки к календарю.
Как прибавить месяц к 31 января?
Прямое сложение может привести к несуществующим датам. Калькулятор использует правило: если результирующий день превышает число дней в целевом месяце, он ограничивается последним днём этого месяца. Например, плюс один месяц к 31 января даст 28 или 29 февраля.
  1. Счетчик дат – рассчитать количество дней между датами
  2. Расчёт между датами: дни, недели, месяцы онлайн
  3. Калькулятор между днями: рассчитать период онлайн
  4. Калькулятор расчета дней – онлайн расчёт дней между датами
  5. Посчитать 40 дней со дня – онлайн-калькулятор
  6. Посчитать дни между датами – калькулятор и формула расчёта