关键信息
- 分类
- 数学、日期与金融
- 输入类型
- textarea, file, text, number, select
- 输出类型
- json
- 样本覆盖
- 4
- 支持 API
- Yes
概览
ICS 日历重复规则展开器是一款专为开发者和日程管理员设计的实用工具。它可以解析包含 RRULE(重复规则)的 VEVENT 文本或 .ics 文件,将复杂的重复逻辑(如按周、按月重复)自动展开为具体的日期实例。支持自定义时区、过滤特定节假日,并可将结果导出为结构化的 JSON 数据或扁平化的 ICS 日历文件,方便后续的数据处理与系统集成。
适用场景
- •需要将复杂的 ICS 重复日程(RRULE)转换为具体的日期列表以便在自建系统中展示时。
- •跨时区同步日历数据,需要统一附加特定时区标签并规范化为 UTC 格式时。
- •提取日程实例时需要自动跳过法定节假日或特定休息日时。
工作原理
- •粘贴包含 VEVENT 的 ICS 文本,或直接上传 .ics 日历文件。
- •(可选)设置时区覆盖、输入需要排除的节假日日期(YYYY-MM-DD),并调整最大展开次数以防无限循环。
- •选择输出格式(JSON、ICS 或两者兼有),工具将解析第一个 VEVENT 的 RRULE 并生成具体的日程实例。
使用场景
用户案例
1. 展开每周团队例会并跳过节假日
项目经理- 背景原因
- 团队每周一和周三上午 9 点有固定的同步会,但遇到法定节假日需要取消。
- 解决问题
- 现有的 ICS 文件只包含一条带 RRULE 的重复规则,无法直观看到未来几个月的实际开会日期。
- 如何使用
- 粘贴 VEVENT 文本,在“节假日日期”中填入假期的具体日期(如 2026-04-08),选择输出格式为 JSON。
- 示例配置
-
holidayDates: 2026-04-08 maxOccurrences: 20 outputFormat: json - 效果
- 成功生成未来 20 次会议的具体 UTC 时间列表,且自动排除了 4 月 8 日的会议实例。
2. 转换重复日程为扁平化 ICS 文件
系统管理员- 背景原因
- 公司的旧版考勤系统不支持解析 ICS 文件中的 RRULE 字段,只能读取单次事件。
- 解决问题
- 需要把包含重复规则的日历文件转换为包含多个独立事件的普通 ICS 文件。
- 如何使用
- 上传包含重复规则的 .ics 文件,在“时区覆盖”中输入 Asia/Shanghai,选择输出格式为 ICS。
- 示例配置
-
timezoneOverride: Asia/Shanghai outputFormat: ics - 效果
- 导出一个全新的 ICS 文件,原有的 RRULE 被移除,替换为多个独立的 VEVENT 实例,且头部带有指定的时区标签。
用 Samples 测试
json, text, file相关专题
常见问题
工具支持解析哪些重复频率(FREQ)?
当前支持解析 DAILY(按天)、WEEKLY(按周)、MONTHLY(按月)和 YEARLY(按年)的重复频率。
如果 RRULE 中没有设置结束时间(UNTIL)或次数(COUNT)怎么办?
工具提供了“最大展开次数”选项(默认 100 次),作为安全上限,防止生成无限循环的日程实例。
如何排除特定日期的日程?
在“节假日日期”输入框中按行输入需要排除的日期(格式为 YYYY-MM-DD),工具在展开时会自动跳过这些日期的实例。
可以同时处理多个 VEVENT 吗?
目前工具仅支持解析并展开输入内容中匹配到的第一个 VEVENT。
导出的 JSON 数据包含哪些内容?
导出的 JSON 会包含一个 occurrences 数组,列出所有展开后的具体日程实例的开始时间(UTC 格式)。