Развертка правил повторения ICS

Разворачивает VEVENT с RRULE в конкретные вхождения и экспортирует JSON или ICS

Вставьте полный .ics или один блок VEVENT и разверните RRULE в конкретные события. Инструмент понимает FREQ, INTERVAL, COUNT, UNTIL, BYDAY и BYMONTHDAY.

Как заполнять:

  • Ввод ICS или VEVENT: вставьте текст календаря
  • Файл ICS: загрузите .ics вместо вставки
  • Переопределение часового пояса: необязательно; добавляет метку зоны в экспортированный календарь
  • Праздничные даты: формат YYYY-MM-DD, по одной строке, чтобы исключать события в эти дни
  • Максимум вхождений: защитный лимит, если в RRULE нет COUNT
  • Формат вывода: JSON, ICS или оба варианта

Текущий охват:

  • Разворачивается только первый VEVENT
  • Поддерживаются DAILY, WEEKLY, MONTHLY и YEARLY
  • Вывод нормализуется в UTC-стиле

Примеры результатов

1 Примеры

Развернуть еженедельное правило команды

Преобразует еженедельный VEVENT с BYDAY в конкретные встречи и может исключать праздники.

{
  "result": {
    "occurrences": [
      {
        "start": "2026-04-01T09:00:00.000Z"
      }
    ]
  }
}
Показать параметры ввода
{ "icsInput": "BEGIN:VEVENT\nDTSTART:20260401T090000Z\nDTEND:20260401T100000Z\nRRULE:FREQ=WEEKLY;BYDAY=MO,WE;COUNT=6\nSUMMARY:Team sync\nUID:team-sync-1\nEND:VEVENT", "timezoneOverride": "Asia/Shanghai", "holidayDates": "2026-04-08", "maxOccurrences": 20, "outputFormat": "both" }

Click to upload file or drag and drop file here

Maximum file size: 5MB Supported formats: text/calendar, text/plain, application/octet-stream, .ics

Ключевые факты

Категория
Математика, даты и финансы
Типы входных данных
textarea, file, text, number, select
Тип результата
json
Покрытие примерами
4
API доступен
Yes

Обзор

Инструмент «Развертка правил повторения ICS» позволяет легко преобразовать события календаря (VEVENT) с правилами RRULE в список конкретных дат. Вы можете вставить текст ICS или загрузить файл, чтобы мгновенно развернуть повторяющиеся события с учетом исключений, праздников и часовых поясов, а затем экспортировать результат в формате JSON или плоском файле ICS.

Когда использовать

  • Когда нужно получить точный список дат для повторяющегося события без использования сложных библиотек программирования.
  • Для конвертации сложных правил RRULE (с параметрами BYDAY, INTERVAL, UNTIL) в простой массив JSON для интеграции в другие системы.
  • Если требуется создать «плоский» файл календаря ICS без правил повторения, исключив при этом определенные праздничные дни.

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

  • Вставьте текст VEVENT/ICS в текстовое поле или загрузите готовый файл .ics с вашего устройства.
  • При необходимости укажите часовой пояс и список праздничных дат (в формате YYYY-MM-DD), которые нужно исключить из расписания.
  • Установите лимит максимального количества вхождений для защиты от бесконечных циклов и выберите нужный формат вывода (JSON, ICS или оба).
  • Нажмите кнопку обработки, и инструмент развернет первое найденное событие в список конкретных дат в формате UTC.

Сценарии использования

Извлечение точных дат встреч из корпоративного календаря для импорта в базу данных или CRM-систему.
Генерация расписания занятий или мероприятий на весь семестр с автоматическим исключением государственных праздников.
Преобразование календарей с RRULE в плоский формат ICS для старых устройств или программ, которые не поддерживают сложные правила повторения.

Примеры

1. Развертка еженедельных командных встреч

Менеджер проектов
Контекст
Команда проводит синхронизации каждый понедельник и среду, но нужно получить точные даты на ближайшие недели для планирования спринтов.
Проблема
Вручную высчитывать даты встреч с учетом выходных и праздников долго и неудобно.
Как использовать
Вставьте блок VEVENT с правилом FREQ=WEEKLY;BYDAY=MO,WE, укажите дату праздника в поле исключений и выберите вывод в JSON.
Пример конфигурации
holidayDates: 2026-05-01
maxOccurrences: 20
outputFormat: json
Результат
Инструмент генерирует JSON-массив с точными датами встреч в формате UTC, пропуская указанный праздничный день.

2. Создание плоского календаря для старой системы

Системный администратор
Контекст
Старая система бронирования переговорных комнат не понимает тег RRULE в файлах ICS.
Проблема
Нужно преобразовать одно повторяющееся событие в 50 отдельных событий (VEVENT) в одном файле.
Как использовать
Загрузите исходный файл .ics, установите лимит в 50 вхождений и выберите формат вывода «ICS».
Пример конфигурации
maxOccurrences: 50
outputFormat: ics
Результат
На выходе получается новый файл ICS, содержащий 50 отдельных блоков VEVENT с конкретными датами, который легко импортируется в любую систему.

Проверить на примерах

json, text, file

Связанные хабы

FAQ

Какие форматы повторений поддерживает инструмент?

Поддерживаются ежедневные (DAILY), еженедельные (WEEKLY), ежемесячные (MONTHLY) и ежегодные (YEARLY) повторения с параметрами FREQ, INTERVAL, COUNT, UNTIL, BYDAY и BYMONTHDAY.

Что произойдет, если в файле несколько событий (VEVENT)?

В текущей версии инструмент обрабатывает и разворачивает только первый найденный блок VEVENT в предоставленном тексте или файле.

Как исключить праздники из расписания?

Введите даты праздников в поле «Праздничные даты» в формате YYYY-MM-DD, каждую с новой строки. События, выпадающие на эти дни, будут автоматически пропущены.

Зачем нужна настройка «Максимум вхождений»?

Это защитный лимит, который предотвращает бесконечную генерацию дат, если в правиле RRULE не указано точное количество повторений (COUNT) или дата окончания (UNTIL).

В каком формате выдаются результаты?

Вы можете выбрать экспорт в виде структурированного JSON-массива, плоского файла ICS (где каждое вхождение — это отдельное событие) или получить оба формата одновременно.

Документация API

Конечная точка запроса

POST /ru/api/tools/ics-calendar-recurrence-rule-expander

Параметры запроса

Имя параметра Тип Обязательно Описание
icsInput textarea Нет -
icsFile file (Требуется загрузка) Нет -
timezoneOverride text Нет -
holidayDates textarea Нет -
maxOccurrences number Нет -
outputFormat select Нет -

Параметры типа файл должны быть загружены сначала через POST /upload/ics-calendar-recurrence-rule-expander для получения filePath, затем filePath должен быть передан в соответствующее поле файла.

Формат ответа

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
Данные JSON: Данные JSON

Документация MCP

Добавьте этот инструмент к конфигурации сервера MCP:

{
  "mcpServers": {
    "elysiatools-ics-calendar-recurrence-rule-expander": {
      "name": "ics-calendar-recurrence-rule-expander",
      "description": "Разворачивает VEVENT с RRULE в конкретные вхождения и экспортирует JSON или ICS",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=ics-calendar-recurrence-rule-expander",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.

Поддерживает ссылки на файлы URL или кодирование Base64 для параметров файла.

Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]