Калькулятор смещения дат
Добавляйте или вычитайте дни, недели, месяцы и годы из любой даты с подробной информацией о результате
Ввод
Вывод
Документация
Что такое смещение даты?
Смещение даты — это фиксированное или переменное количество времени, которое добавляется или вычитается из опорной даты для получения новой даты. Смещения можно выражать во многих единицах — годах, месяцах, неделях, днях, часах, минутах, секундах или даже миллисекундах — и они являются основой для планирования расписания, управления проектами и расчётов, основанных на времени. Например, добавление 90 дней к дате подписания контракта даёт вам срок доставки, а вычитание 2 недель из даты запуска говорит вам, когда должно начаться финальное тестирование.
Арифметика дат сложнее, чем кажется. Месяцы имеют разную длину, високосные годы добавляют дополнительный день, а расчёты рабочих дней должны пропускать выходные. Ручное жонглирование этими граничными случаями подвержено ошибкам, особенно когда объединены несколько единиц — например, «добавить 1 год, 3 месяца и 15 рабочих дней». Специализированный калькулятор обрабатывает все календарные особенности, чтобы вы получили точный результат каждый раз.
Описание инструмента
Калькулятор смещения даты позволяет выбрать любую начальную дату и время, выбрать, добавлять или вычитать, и ввести смещения по двенадцати различным единицам времени одновременно. Он мгновенно вычисляет полученную дату вместе с полезными метаданными, такими как день недели, номер недели ISO, индекс дня года, попадает ли результат в високосный год и временную метку Unix в миллисекундах.
Примеры
| Начальная дата | Операция | Смещение | Результат |
|---|---|---|---|
| 2026-01-01 | Добавить | 6 месяцев, 15 дней | Четверг, 16 июля 2026 г. |
Возможности
- Комбинированные многоединичные смещения — смешивайте годы, кварталы, месяцы, недели, дни, рабочие дни, часы, минуты, секунды и миллисекунды в одном расчёте
- Учёт рабочих дней — автоматически пропускает субботы и воскресенья при расчёте смещений рабочих дней
- Богатые детали результата — отображает день недели, день года, номер недели ISO, статус високосного года и временную метку Unix рядом с датой результата
- Двусторонняя операция — переключайтесь между добавлением и вычитанием смещений одним щелчком
- Точность до миллисекунды — поддерживает ввод и вывод даты и времени с точностью до миллисекунды для высокоточных сценариев
Варианты использования
- Управление проектами — рассчитайте сроки, добавив рабочие дни или календарные недели к дате начала проекта, автоматически учитывая выходные
- Юридическое и финансовое планирование — определите даты истечения контрактов, сроки платежей или периоды уведомления, смещая от опорной даты с точными единицами
- Планирование событий — найдите точные даты повторяющихся вех, такие как «6 месяцев и 10 дней после запуска», без ручного подсчёта календаря
Объяснение параметров
| Параметр | Описание |
|---|---|
| Начальная дата | Опорная дата и время, от которых применяется смещение |
| Операция | Выберите Добавить (+), чтобы двигаться вперёд во времени, или Вычесть (−), чтобы двигаться назад |
| Годы / Кварталы / Месяцы | Смещения на основе календаря; кварталы преобразуются в 3-месячные приращения |
| Недели / Дни | Прямолинейные смещения календарных дней (недели = 7 дней каждая) |
| Рабочие дни | Смещение только в будни, пропускающее субботы и воскресенья |
| Часы / Минуты / Секунды / Миллисекунды | Смещения времени в пределах дня для точных расчётов времени |
Как это работает
Калькулятор применяет смещения в определённом порядке, чтобы обеспечить предсказуемые результаты:
- Годы добавляются или вычитаются в первую очередь путём корректировки компонента года даты.
- Кварталы и месяцы объединяются и применяются далее, смещая компонент месяца.
- Недели и дни объединяются в общее количество дней и применяются к компоненту дня.
- Рабочие дни затем перебираются по одному дню за раз, пропуская любую субботу или воскресенье.
- Часы, минуты, секунды и миллисекунды применяются в последнюю очередь для точности в пределах дня.
Этот порядок важен, потому что единицы на основе календаря (годы, месяцы) могут смещать дату способами, которые влияют на последующие расчёты на уровне дня. Применение их в первую очередь избегает неожиданных взаимодействий.
Часто задаваемые вопросы
Почему добавление 1 месяца к 31 января даёт другой результат, чем ожидается?
Месяцы имеют разную длину. Объект Date в JavaScript обрабатывает переполнение путём перехода вперёд — так что 31 января + 1 месяц становится 3 марта в невисокосные годы (так как февраль имеет только 28 дней). Это стандартное поведение арифметики дат.
Учитывает ли расчёт рабочих дней государственные праздники? Нет. Рабочие дни пропускают только субботы и воскресенья. Государственные праздники различаются по странам и регионам, поэтому они не включены в расчёт.
Могу ли я вводить отрицательные числа в поля смещения? Поля смещения принимают только неотрицательные значения. Используйте раскрывающееся меню Операция, чтобы переключаться между добавлением и вычитанием.