Калькулятор расчёта дней и дат решает две задачи: находит интервал между двумя датами и определяет дату через заданное число дней. Он показывает календарные дни, полные месяцы, остаток дней и количество рабочих дней без выходных.
Первый блок вычисляет длительность периода между двумя точками времени: общее число календарных дней, количество полных месяцев, остаток дней сверх месяцев и число рабочих дней. Второй блок прибавляет к дате нужное количество дней — положительное или отрицательное.
Такой расчёт пригодится для определения срока договора, длительности отпуска, даты окончания больничного или количества дней до события.
Календарные дни получают простым вычитанием одного номера дня из другого. Полные месяцы считают по календарю с учётом разной длины месяцев, а рабочие дни — перебором интервала без суббот и воскресений.
Пример 1. С 1 января по 1 февраля: календарных дней 31, полных месяцев 1, рабочих дней 23.
Пример 2. С 1 декабря 2023 года по 1 марта 2024 года: 91 день, 3 полных месяца, 65 рабочих дней.
К номеру дня исходной даты прибавляют нужное количество дней и получают новую дату. Отрицательное число дней сдвигает дату назад, поэтому один и тот же блок работает и для вычитания.
Пример 3. 1 февраля 2024 года плюс 30 дней — это 2 марта 2024 года, потому что в феврале 2024 года 29 дней.
Длительность интервалов между датами
| Начало | Конец | Дней | Рабочих дней |
|---|---|---|---|
| 2024-01-01 | 2024-02-01 | 31 | 23 |
| 2023-12-01 | 2024-03-01 | 91 | 65 |
| 2024-02-01 | 2024-02-15 | 14 | 10 |
| 2024-05-01 | 2024-05-09 | 8 | 7 |
Календарные дни считаются как разность номеров дней, то есть интервал [начало, конец). Если нужно включить обе даты, прибавьте к результату единицу.
Интервал перебирается по дням, и учитываются только дни с понедельника по пятницу. Государственные праздники калькулятор не вычитает.
Да. Введите в поле числа дней отрицательное значение, например −10, и получите дату на десять дней раньше исходной.
Месяцы имеют разную длину. Калькулятор считает полные календарные месяцы, а остаток дней показывает, сколько суток осталось после последнего полного месяца.