Скачать
- Разница между датами — общее количество дней, точный период (годы + месяцы + дни), месяцы, недели, рабочие дни, выходные (суббота и воскресенье отдельно), часы и минуты.
- Прибавление и вычитание — добавление или вычитание дней, недель, месяцев и лет с корректной обработкой крайних дат (31 января + 1 месяц = 28/29 февраля). Отдельный режим для рабочих дней с пропуском выходных.
- Возрастной калькулятор — полных лет, месяцев и дней на сегодня или на указанную дату.
- Подсчёт дней недели — количество вхождений выбранного дня недели в заданный период.
- 10 цветовых пресетов — 5 тёмных и 5 светлых тем (Тёмный космос, Полночный синий, Лесной, Закат, Арктика, Неон-сити, Светлая, Слоновая кость, Пепел, Сапфир). Цвета применяются через CSS-переменные в
wp_head, без редактирования файлов. - Пять управляемых текстовых блоков — описание (над калькулятором), инструкция, методология расчётов, FAQ-аккордеон и дисклаймер (внутри виджета). Каждый блок управляется чекбоксом и редактируемым textarea с кнопкой сброса к тексту по умолчанию.
- FAQ с drag-and-drop — порядок вопросов и ответов меняется перетаскиванием, возможно добавление и удаление пар без ограничений.
- Настройки расчётов — включение или исключение последнего дня из расчёта разницы; выбор первого дня недели (понедельник для РФ или воскресенье).
- Проверка обновлений — лёгкий механизм без автоустановки: бейдж в строке плагина со ссылкой на страницу загрузки, кнопка принудительной проверки.
- Адаптивный интерфейс — одноколоночная вёрстка, touch-friendly элементы (≥ 44px), предотвращение авто-зума на iOS, поддержка экранов от 320px.
| Параметр | Значение |
|---|---|
| Шорткод | [date-calc] |
| Ключ настроек в БД | date_calc_smirnovcode_settings |
| Страница настроек | Настройки → Калькулятор дней и дат |
| Slug страницы настроек | date_calc_options |
| Режимы шорткода | diff, add_sub, age, weekdays |
| Атрибуты шорткода | mode, default_date1, default_date2, description, instructions, scientific, faq, disclaimer |
| Цветовых пресетов | 10 (6 тёмных + 2 светлых + 2 нейтральных) |
| Дефолтный пресет | cosmic (Тёмный космос) |
| CSS-переменные пресета | --dc-bg, --dc-surface, --dc-surface-hover, --dc-border, --dc-text, --dc-text-muted, --dc-accent, --dc-accent-hover, --dc-accent-soft, --dc-warning, --dc-chart-principal, --dc-chart-interest, --dc-shadow |
| Санитизация текстовых полей | wp_kses_post() |
| Санитизация вопросов FAQ | sanitize_text_field() |
| Санитизация флагов | !empty($input[$k]) ? 1 : 0 |
| URL обновлений | https://smirnovcode.ru/updates/date-calc-smirnovcode.json |
| Страница плагина | https://smirnovcode.ru/plugins/date-calc-smirnovcode/ |
| Период кеша обновлений | 12 часов (43 200 сек.), при ошибке — 5 минут |
| Ключ transient обновлений | date_calc_smirnovcode_remote_version |
| Поддерживаемые форматы JSON обновлений | {"date-calc-smirnovcode":{"version":"X.Y.Z"}}, {"version":"X.Y.Z"}, [{"version":"X.Y.Z"}] |
1. Установка и активация
- Загрузите папку
date-calc-smirnovcodeв директорию/wp-content/plugins/. - Активируйте плагин в разделе «Плагины» административной панели WordPress.
2. Настройка плагина
Перейдите в Настройки → Калькулятор дней и дат.
Цветовой пресет — выберите одну из 10 тем, нажав на карточку. Изменения применяются после нажатия «Сохранить настройки». Доступные пресеты:
| Ключ | Название | Тип |
|---|---|---|
cosmic | Тёмный космос | Тёмный (дефолт) |
midnight | Полночный синий | Тёмный |
forest | Лесной | Тёмный |
sunset | Закат | Тёмный |
arctic | Арктика | Тёмный |
neon | Неон-сити | Тёмный |
light | Светлая | Светлый |
ivory | Слоновая кость | Светлый |
ash | Пепел | Нейтральный |
sapphire | Сапфир | Нейтральный |
Текстовые блоки — для каждого из пяти блоков доступны:
- чекбокс «Показывать» — включает или отключает блок на фронтенде;
- textarea с текстом — редактируется произвольно, поддерживает базовые HTML-теги (
<b>,<p>,<a>и др.); - кнопка со стрелкой (↺) — восстанавливает текст по умолчанию без сохранения (фактически применяется после нажатия «Сохранить настройки»).
FAQ — внутри блока «Вопросы и ответы» доступны: добавление новых пар, удаление существующих, перетаскивание для изменения порядка (drag-and-drop), восстановление дефолтного списка из 12 вопросов.
Прочие настройки:
- «Учёт последнего дня» — если включено, конечная дата включается в расчёт (1 января — 2 января = 2 дня вместо 1).
- «Начало недели» — если включено, неделя начинается с понедельника (стандарт РФ); снимите галочку для воскресенья.
3. Вывод на странице
Добавьте шорткод [date-calc] в любую страницу или запись через редактор WordPress. Калькулятор отображается в выбранном цветовом пресете с активными текстовыми блоками.
Пример минимальной вставки:
[date-calc]Пример с параметрами:
[date-calc mode="age" default_date1="1990-06-15" faq="0" disclaimer="0"]4. Параметры шорткода
| Атрибут | Значения | Описание |
|---|---|---|
mode | diff / add_sub / age / weekdays | Активная вкладка при загрузке. По умолчанию: diff. |
default_date1 | ГГГГ-ММ-ДД | Дата по умолчанию для первого поля. По умолчанию: сегодня. |
default_date2 | ГГГГ-ММ-ДД | Дата по умолчанию для второго поля. По умолчанию: сегодня. |
description | 1 / 0 | Показывать вводный текст над калькулятором. По умолчанию: из настроек. |
instructions | 1 / 0 | Показывать блок «Как пользоваться». По умолчанию: из настроек. |
scientific | 1 / 0 | Показывать блок «Основные правила расчёта». По умолчанию: из настроек. |
faq | 1 / 0 | Показывать FAQ-аккордеон. По умолчанию: из настроек. |
disclaimer | 1 / 0 | Показывать дисклаймер внутри виджета. По умолчанию: из настроек. |
Атрибуты description, instructions, scientific, faq, disclaimer принимают значения 1, 0, true, false, yes, no. Атрибут в шорткоде имеет приоритет над настройками страницы.
Примеры:
[date-calc mode="diff"]
[date-calc faq="0" scientific="0"]
[date-calc description="1" mode="age"]
[date-calc instructions="0" disclaimer="0" default_date1="2024-01-01"]5. Проверка обновлений
Плагин раз в 12 часов обращается к https://smirnovcode.ru/updates/date-calc-smirnovcode.json и сравнивает полученную версию с установленной. Если доступна новая версия — в строке плагина на странице «Плагины» появляется бейдж «Доступно обновление X.Y.Z → A.B.C» со ссылкой на страницу плагина для ручной загрузки.
Автоматической установки обновлений нет — загрузка и обновление выполняются вручную.
Для принудительной проверки (без ожидания 12 часов) нажмите ссылку «Проверить обновления» в строке команд плагина на странице «Плагины». Кеш сбросится, и страница обновится с актуальным статусом.
Ожидаемый формат ответа сервера (любой из трёх):
{ "date-calc-smirnovcode": { "version": "0.1.1" } }{ "version": "0.1.1" }[ { "version": "0.1.1" } ] Версия 0.1.0
- Добавлены 10 цветовых пресетов (5 тёмных + 5 светлых): Тёмный космос, Полночный синий, Лесной, Закат, Арктика, Неон-сити, Светлая, Слоновая кость, Пепел, Сапфир.
- Цвета виджета перенесены на CSS-переменные (
--dc-*); хардкодные значения удалены из:rootв CSS-файле и заменены fallback-значениями дефолтного пресета. - Пресет публикуется через хук
wp_headс приоритетом 5 — до подключения CSS-файла плагина. - Добавлены пять управляемых текстовых блоков: описание, инструкция, методология расчётов, FAQ, дисклаймер.
- Страница настроек расширена: плитка карточек пресетов (CSS Grid), textarea с кнопками сброса, FAQ-список с drag-and-drop (jQuery UI Sortable), кнопки «Добавить вопрос» и «Восстановить по умолчанию».
- Шорткод
[date-calc]принимает пять новых атрибутов управления блоками:description,instructions,scientific,faq,disclaimer. - Реализован лёгкий механизм проверки обновлений: бейдж в
plugin_row_meta, кнопка «Проверить обновления» вplugin_action_links, трёхуровневый кеш (runtime → transient → HTTP). - Настройки плагина перенесены в единый ключ
date_calc_smirnovcode_settingsс санитизацией черезwp_kses_post()и whitelist-проверкой пресета.
Версия 0.0.2
- Одноколоночная вёрстка на всех устройствах.
- Раздельные медиа-запросы для мобильных ( 768px) и малых экранов (< 360px).
- Touch-friendly: минимальный размер интерактивных элементов 44px, предотвращение авто-зума на iOS.
Версия 0.0.1
- Первый релиз.
- Режим «Разница между датами»: дни, годы/месяцы/дни, месяцы, недели, рабочие дни, выходные, часы, минуты.
- Режим «Прибавить/Вычесть»: дни, недели, месяцы, годы, рабочие дни; корректная обработка крайних дат месяца.
- Режим «Возраст»: полных лет, месяцев и дней на сегодня или указанную дату.
- Режим «Дни недели в периоде»: подсчёт вхождений выбранного дня недели.
- Настройки: учёт последнего дня, первый день недели.
- Адаптивный интерфейс с тёмной темой.
Страница настроек

Демонстрация
Онлайн-калькулятор для точного вычисления разницы между любыми двумя датами, прибавления или вычитания дней, недель, месяцев и лет, определения возраста и подсчёта рабочих и выходных дней в заданном периоде.
Калькулятор дней и дат
Вычисление разницы между датами, прибавление/вычитание времени, возраст, рабочие дни
Даты
Результат
Введите даты для расчёта
Исходная дата и период
Результат
Введите дату и период
Возрастной калькулятор
Результат
Введите дату рождения
Подсчёт дней недели
Результат
Выберите период и день недели
Все расчёты носят ориентировочный характер и предназначены исключительно для информационных целей. Рабочие дни определяются без учёта государственных праздников и региональных переносов. Для точных юридических или финансовых расчётов рекомендуется обращаться к специалистам.
Как пользоваться калькулятором
Разница между датами — выберите две даты и получите точное количество дней, недель, месяцев и лет между ними, включая рабочие и выходные дни.
Прибавить / Вычесть — укажите исходную дату и нужное количество дней, недель, месяцев или лет, чтобы получить итоговую дату.
Возраст — введите дату рождения и узнайте полное количество лет, месяцев и дней.
Дни недели в периоде — подсчитайте, сколько раз выбранный день недели встречается в указанном диапазоне дат.
Основные правила расчёта
Разница между датами вычисляется как абсолютное количество дней между двумя датами. При включённом параметре «Учёт последнего дня» конечная дата включается в расчёт (например, разница между 1 января и 2 января составит 2 дня вместо 1).
Рабочие дни рассчитываются путём исключения суббот и воскресений. Возраст вычисляется с учётом полных прожитых лет, месяцев и дней.
Все расчёты носят справочный характер и не учитывают региональные праздники и переносы рабочих дней.
Вопросы и ответы
Перейдите на вкладку «Разница между датами», введите начальную и конечную дату — результат появится автоматически.
Да. Установите или снимите галочку «Включать последний день в расчёт» — калькулятор пересчитает результат мгновенно.
Откройте вкладку «Прибавить / Вычесть», введите исходную дату, укажите количество дней и выберите направление «Прибавить».
Перейдите на вкладку «Возраст» и введите дату рождения. Калькулятор покажет полное количество лет, месяцев и дней на сегодня.
Да. На вкладке «Возраст» выберите «Указать дату» и введите нужную дату для расчёта.
На вкладке «Разница между датами» в блоке результатов вы увидите строку «Рабочих дней» — это количество дней, исключая субботы и воскресенья.
Нет. Калькулятор учитывает только субботы и воскресенья. Государственные праздники не учитываются.
Перейдите на вкладку «Дни недели в периоде», задайте период (например, 1–30 апреля) и выберите «Пн». Результат отобразится автоматически.
На вкладке «Прибавить / Вычесть» установите галочку «Рабочие дни» и укажите нужное количество — калькулятор автоматически пропустит субботы и воскресенья.
По умолчанию — понедельник (стандарт РФ). Это можно изменить в настройках плагина в административной панели.
Да, интерфейс полностью адаптирован для смартфонов и планшетов.
Используйте шорткод [date-calc] на любой странице или в записи WordPress. Доступны дополнительные атрибуты для управления блоками.








