Дата и время

Сложение и вычитание дат: дни, месяцы, годы и конец месяца

Выберите правильную календарную единицу, поймите корректировку короткого месяца, ISO-недели и способы проверки важной даты.

Иллюстрация: Калькулятор дат

Выберите фиксированную длительность или календарную единицу

Дни и недели задают фиксированное количество суток: неделя всегда равна семи дням. Месяц и год являются календарными единицами с переменной продолжительностью.

Если срок сформулирован как «через 30 дней», используйте дни. Если сказано «через один месяц», перемещайте календарный месяц и сохраняйте число, где это возможно.

Подмена единиц может изменить результат на несколько дней, особенно около февраля и месяцев по 31 дню.

Дни и недели перемещаются по календарю напрямую

Для добавления n дней последовательно пройдите n календарных суток вперёд; для вычитания двигайтесь назад. Выходные и праздники не пропускаются.

Недели преобразуются в 7n дней, поэтому день недели после целого числа недель совпадает с исходным. Например, три недели после вторника снова приходятся на вторник.

Обратное перемещение тем же количеством дней или недель должно восстановить исходную дату.

Формулы и обозначения

  • дата₂ = дата₁ ± n дней
  • n недель = 7n дней

Месяцы сохраняют число, если оно существует

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

31 января + 1 месяц становится 28 февраля в обычном году и 29 февраля в високосном. 30 ноября + 3 месяца также требует проверки длины февраля.

После ограничения до конца месяца обратная операция не всегда симметрична: 28 февраля + 1 месяц = 28 марта, а не 31 марта.

Годы зависят от високосного календаря

Добавление года эквивалентно перемещению на двенадцать календарных месяцев. Большинство дат сохраняют месяц и число.

29 февраля + 1 год ограничивается 28 февраля, потому что целевая дата не существует. Добавление четырёх лет может снова попасть на 29 февраля, если промежуточная логика и целевой год високосны.

Не заменяйте календарный год 365 днями для годовщин: интервал может содержать 366 суток.

Читайте справочные характеристики результата

День недели помогает планированию и проверке. Порядковый день года учитывает 29 февраля, а ISO-неделя начинается в понедельник.

Первая ISO-неделя содержит первый четверг года, поэтому даты конца декабря иногда принадлежат неделе 1 следующего ISO-года, а начало января — последней неделе предыдущего.

Строки пересечённых будней и выходных используют только схему понедельник–пятница и суббота–воскресенье.

Проверяйте результат независимыми способами

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

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

Сравните фактическое число пройденных суток с ожидаемым порядком величины и проверьте операцию плюс или минус.

Срок с последствиями требует официальной методики

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

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

Сохраните исходные данные и выбранную единицу, затем сверьте итог с нормативным источником или ответственным специалистом.

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

Результат дополняют форматированная дата, день недели, порядковый день года, номер ISO-недели и фактическое число календарных суток между исходной и итоговой датой.

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

Когда использовать дни вместо месяцев?

Используйте дни для фиксированного количества суток, а месяцы — когда срок сформулирован как календарный месяц.

Почему неделя всегда сохраняет день недели?

Семь дней образуют полный цикл названий дней, поэтому сдвиг на целые недели возвращает тот же день.

Почему месяц после 31 января заканчивается в феврале?

В феврале нет 31 числа, поэтому календарная операция ограничивает результат последним действительным днём.

Почему сдвиг месяца может быть необратимым?

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

Чем год отличается от 365 дней?

Календарный год сохраняет месяц и число, а фиксированные 365 суток могут сместиться из-за високосного дня.

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

Умножьте количество недель на семь и убедитесь, что итоговый день недели совпадает с начальным.

Почему ISO-неделя не всегда совпадает с календарным годом?

Недельный ISO-год определяется неделей с первым четвергом, поэтому его границы проходят не всегда 1 января.

Считаются ли праздники выходными?

Нет автоматически; подсчёт различает только дни недели без календаря праздников.

Можно ли вычесть отрицательное число?

Математически знак может обратить направление, но для ясности используйте положительное количество и явную операцию.

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

Сверьте правила границ, праздников, времени суток и часовой зоны с применимым нормативным источником.

Как прибавить дни к дате?

Выберите исходную дату, введите количество дней, установите операцию добавления и выполните расчёт.

Проверьте свой сценарий

Введите собственные данные в Калькулятор дат и сопоставьте результат с методом из руководства.

Открыть Калькулятор дат