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

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

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

Реклама

Результатов

Полученная дата
2024-01-31
Wednesday
Год 2024
Месяц 1
День 31
День недели Wednesday
Юлианский день (JDN) 2 460 341

Что умеет этот калькулятор

Калькулятор прибавления и вычитания дней определяет точную календарную дату, которая наступит за заданное число дней до или после любой исходной даты. Нужно узнать, «какое число будет через 90 дней» или «какая дата была 45 дней назад» — инструмент сразу выдаст ответ вместе с днём недели. Он работает с любой датой григорианского календаря и корректно учитывает разную длину месяцев, високосные годы и переход через границу года.

Числовая прямая календарных дат со стрелками прибавления и вычитания дней от начальной даты
Прибавление сдвигает дату вперёд, вычитание — назад по календарю.

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

Укажите исходную дату (год, месяц и день), выберите действие — прибавить или вычесть дни — и введите количество дней. Калькулятор покажет полученную дату в формате ГГГГ-ММ-ДД, а также день недели. Это универсальный инструмент для работы с датами: он не привязан к конкретной стране или особому календарю и опирается только на стандартный григорианский календарь.

Как устроена формула

Чтобы не жонглировать переменной длиной месяцев и високосными годами вручную, калькулятор переводит исходную дату в юлианский день (Julian Day Number, JDN) — единый сквозной счётчик суток. После этого прибавить или вычесть N дней — задача простой целочисленной арифметики:

$$\text{JDN}_{\text{итог}} = \text{JDN}(\text{старт}) \pm N$$

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

$$\text{JDN} = d + \left\lfloor\frac{153m+2}{5}\right\rfloor + 365y + \left\lfloor\frac{y}{4}\right\rfloor - \left\lfloor\frac{y}{100}\right\rfloor + \left\lfloor\frac{y}{400}\right\rfloor - 32045$$

День недели вычисляется как \(\text{JDN} \bmod 7\). Такой подход даёт точный результат и избавляет от ошибок округления, которыми грешат наивные посуточные переборы.

Реклама
Блок-схема: преобразование даты в юлианский день, прибавление N и обратное преобразование в дату
Дата переводится в юлианский день, к нему прибавляют или вычитают N, затем обратно в дату.

Разбор примера

Возьмём 2024-01-01 и прибавим 30 дней. Юлианский день для 2024-01-01 равен 2 460 311. Прибавляем 30 — получаем

$$2\,460\,311 + 30 = 2\,460\,341$$

что соответствует дате 2024-01-31. Поскольку 2024 год високосный, расчёт без проблем учитывает 31 день января. Если добавить ещё один день (итого 31), результат перейдёт на 2024-02-01.

Реклама

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

Учитываются ли високосные годы? Да. Метод юлианского дня изначально учитывает високосные годы и разную длину месяцев, поэтому 29 февраля в високосных годах обрабатывается правильно.

Можно ли перейти на новый год? Конечно. Если прибавить достаточное число дней, результат перейдёт в следующий год (или в предыдущий — при вычитании), причём никаких дополнительных действий не требуется.

Какой календарь используется? Пролептический григорианский календарь — стандартный гражданский календарь, принятый сегодня во всём мире.

Ключевые термины объяснены

Юлианский день (JDN)
Непрерывный подсчёт целых дней с полудня всемирного координированного времени 1 января 4713 года до н.э. (пролептический юлианский календарь). Поскольку каждой дате календаря соответствует одно целое число, сложение или вычитание дней становится простой целочисленной арифметикой: преобразуйте дату в её JDN, добавьте или вычтите смещение, затем преобразуйте обратно. Это позволяет избежать ручного учёта длительности месяцев и високосных лет.
Григорианский календарь
Гражданский календарь, используемый в большинстве стран мира сегодня, введённый папой Григорием XIII в 1582 году. Он определяет год из 365 дней с добавлением дня в высокосный год согласно определённым правилам, давая среднюю длину года 365,2425 дня, которая хорошо соответствует солнечному году.
Пролептический григорианский календарь
Расширение григорианского календаря, применяемое к датам до его введения в 1582 году. Калькуляторы используют его, чтобы исторические или очень ранние даты следовали одним и тем же согласованным правилам високосного года, обеспечивая непрерывную арифметику JDN во все эпохи.
Високосный год
Год, содержащий 366 дней (с 29 февраля). Григорианский год является високосным, если он делится на 4, за исключением столетних лет, которые также должны делиться на 400. Так 2000 и 2024 — високосные годы, а 1900 и 2100 — нет.
Нахождение дня недели через остаток от деления
День недели, выведенный непосредственно из JDN с использованием модульной арифметики. Поскольку дни недели повторяются каждые 7 дней, вычисление \((\text{JDN} + 1) \bmod 7\) даёт значение от 0 до 6, которое соответствует дню недели (где JDN 0 приходится на понедельник). Это позволяет калькулятору назвать день недели любой полученной даты без таблицы поиска.
Последнее обновление: