Калькулятор прибавления и вычитания дат

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

Как это работает

Формула

exactDayDelta=7w+d\text{exactDayDelta} = 7w + d

netShiftDays=tfinaltbase86400000\text{netShiftDays} = \dfrac{t_{final} - t_{base}}{86400000}

Переменные, обозначения и единицы

ww

Полные недели в точной дневной части смещения

dd

Дополнительные точные дни в смещении

tbaset_{base}

Исходная дата, закрепленная на полуночи UTC

tfinalt_{final}

Итоговая дата, закрепленная на полуночи UTC
Как выполняется расчёт

Используйте одну исходную дату, одно направление и четыре целочисленных смещения. Калькулятор сначала применяет часть по годам и месяцам по строгой григорианской арифметике, зажимает даты конца месяца, если целевой месяц короче, а затем добавляет недели и дни как точные дневные шаги. Главный результат — итоговая дата, а день недели и чистое смещение по календарным дням служат быстрой проверкой.

Пошаговое григорианское смещение по календарю:

  1. Разберите исходную дату как одну точную дату ISO-календаря.
  2. Преобразуйте направление в знак: прибавление — положительное, вычитание — отрицательное.
  3. Сначала примените годы и месяцы со знаком, переходя к целевому году и месяцу и стараясь сохранить исходный день месяца.
  4. Если в целевом месяце нет исходного дня, зажмите дату до последнего допустимого дня этого месяца. Поэтому 2025-01-31 + 1 месяц = 2025-02-28, а 2024-02-29 + 1 год = 2025-02-28.
  5. Превратите недели и дни в точное дневное приращение по формуле exactDayDelta=7w+d\text{exactDayDelta} = 7w + d и примените его после шага по годам и месяцам с учетом зажима.
  6. Определите итоговый день недели по результату и вычислите чистый сдвиг в днях как расстояние между исходной и итоговой датой по UTC.

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

В каком порядке работает калькулятор?
Порядок фиксированный: сначала применяются годы и месяцы по правилам григорианского календаря, при необходимости дата зажимается до последнего допустимого дня целевого месяца, а затем добавляются недели и дни как точные дневные приращения.
Почему 31 января + 1 месяц может стать 28 или 29 февраля?
Потому что в феврале не всегда есть 31-е число. Калькулятор сначала ставит дату на последний допустимый день целевого месяца, а затем продолжает оставшиеся недельные и дневные смещения.
Что происходит с 29 февраля в невисокосный год?
Если дата 29 февраля сдвигается в обычный год, на этом шаге она зажимается до 28 февраля. Например: 2024-02-29 + 1 год = 2025-02-28.
Чем это отличается от Date Difference, Day of Week и Weekdays Calculator?
Эта страница преобразует одну известную дату в новую дату. Date Difference измеряет промежуток между двумя датами, Day of Week подписывает одну дату, а Weekdays Calculator считает выбранные дни недели внутри диапазона.
Какой формат даты использовать?
Используйте встроенный ISO-безопасный ввод даты, чтобы исходная дата оставалась однозначной в любой локали. Сама арифметика одинакова для всех локалей.

Похожие калькуляторы

Все калькуляторы

Готовы считать?

Бесплатные калькуляторы.