Калькулятор разницы дат
БытВычисляйте разницу между двумя датами или прибавляйте/вычитайте дни, недели, месяцы, годы и рабочие дни. Все вычисления используют UTC, поэтому результаты одинаковы в любом часовом поясе.
На этой странице
Что такое калькулятор разницы дат?#
Калькулятор разницы дат отвечает на обманчиво простой вопрос: сколько времени между двумя датами? Загвоздка в том, что «сколько времени» — не одно число. Сорок семь дней — это также один месяц и семнадцать дней, шесть недель и пять дней или тридцать три рабочих дня, — и ответ, который важен, зависит от того, отслеживаете ли вы дедлайн проекта, вычисляете возраст или считаете рабочие дни до запуска.
Эта страница даёт все эти чтения разом, плюс второй режим, сдвигающий дату вперёд или назад на заданное число дней, недель, месяцев, лет или рабочих дней. Вся математика выполняется в UTC над целыми календарными днями, поэтому результат никогда тихо не сдвигается на час при переходе на летнее время.
Как пользоваться#
Панель инструментов сверху переключает два режима.
Режим «Разница дат» — отвечает «как долго между двумя датами?»:
- Введите дату Начальная дата и Конечная дата (обе в
ГГГГ-ММ-ДД). Нажмите Сегодня, чтобы вставить текущую дату в поле. - Отметьте Единицы, которые нужны в отчёте: Дни, Недели, Месяцы, Годы, Рабочие дни (понедельник–пятница). Снимите те, что не нужны, чтобы результат не загромождался.
- Отметьте Включая конечный день, если должны считаться и начальный, и конечный день (например, «я в отпуске с 1-го по 10-е» обычно означает десять дней, а не девять). Снимите для чистого показателя прошедшего времени.
Режим «Прибавить / вычесть» — отвечает «какая дата наступит через N единиц?»:
- Введите базовую дату в Начальная дата.
- Введите Количество — положительное или отрицательное целое (используйте минус для движения назад).
- Выберите Единицы: день, неделя, месяц, год или рабочий день. Рабочие дни пропускают субботы и воскресенья в направлении шага.
Карточка результата справа показывает главное число крупно, с остальными выбранными единицами ниже. В режиме «Прибавить / вычесть» она показывает целевую дату в человеческом виде плюс её ISO-форму ГГГГ-ММ-ДД для удобного копирования.
Ключевые возможности#
- Шесть чтений разом. Дни, недели, месяцы, годы, рабочие дни и календарная разбивка (годы + месяцы + дни) — а не единый итог.
- Безопасность по часовому поясу. Всё считается на календарных днях UTC, поэтому зритель в Токио и зритель в Гонолулу увидят одно и то же число дней для тех же вводов. Никакого дрейфа летнего времени.
- Подсчёт рабочих дней. Замкнутая формула будней (пн–пт), остающаяся быстрой даже на многолетних промежутках, — без посуточного цикла.
- Включительный или исключительный конец. Один переключатель управляет тем, считается ли последний день.
- Удержание конца месяца. Добавление одного месяца к 31 января даёт 28 февраля (или 29 в високосном году) — повсеместно ожидаемое поведение, а не 3 марта.
- «Прибавить / вычесть» с пятью единицами. Включая рабочие дни — ту единицу, что реально нужна, когда прикидываешь «через десять рабочих дней».
- Без загрузок, без календарного API. Чистая календарная арифметика в вашем браузере.
Разбор примера#
Спринт идёт с 2026-06-20 по 2026-08-06. Введите эти две даты в режиме «Разница дат» со всеми единицами и снятым Включая конечный день. Карточка результата сообщит:
- 47 дней всего
- 6 недель и 5 дней
- 1 месяц 17 дней (календарная разбивка)
- 33 рабочих дня (понедельник–пятница)
Теперь переключитесь в режим Прибавить / вычесть, чтобы спланировать следующую веху. Введите 2026-08-06 в Начальная дата, поставьте Количество = 30 и выберите Единицы: Рабочие дни. Результат — 2026-09-17, дата через тридцать рабочих дней после 6 августа с автоматически пропущенными выходными. Попробуйте то же с Единицы: Дни и получите 2026-09-05 — наглядное напоминание, что «30 дней» и «30 рабочих дней» разнесены более чем на две недели.
FAQ#
Почему инструмент использует UTC? Меня интересуют только локальные даты.#
Даты хранятся и вычисляются как целые календарные дни в полночь UTC. Это сделано намеренно: тогда «день» — одна и та же единица для всех, независимо от часового пояса. Если бы инструмент пользовался локальным временем, зритель в поясе позади UTC мог бы увидеть сдвиг метки дня на единицу при переходах летнего времени. UTC избавляет от всего этого класса багов — и поскольку вы вводите только даты (не времена), заметной разницы в результате нет.
Как считаются рабочие дни?#
Рабочий день — это любой день с понедельника по пятницу включительно. Субботы и воскресенья никогда не считаются, независимо от страны. Государственные праздники не вычитаются — у инструмента нет календаря праздников, потому что они регионально специфичны. Если нужно исключить праздники, вычитайте их вручную из числа рабочих дней.
Что делает «Включая конечный день»?#
Учитывает и начальный, и конечный день как часть промежутка. Без него промежуток — чистое прошедшее время (с 10 июня по 10 июля = 30 дней). С ним — охватывает обе конечные точки (с 10 июня по 10 июля = 31 день). Большинство вопросов «на сколько дней я уезжаю?» хотят его включить; большинство вопросов «как долго шёл проект?» — выключить.
Что произойдёт, если прибавить месяц к 31-му числу?#
Результат удерживается на последнем валидном дне целевого месяца. Прибавление одного месяца к 2026-01-31 даёт 2026-02-28 (2026 не високосный); прибавление одного месяца к 2026-03-31 даёт 2026-04-30. Это совпадает с тем, что делает практически каждое календарное приложение, и избавляет от изобретения «31 апреля», которого не существует.