让 AI 排了每周计划,怎样生成含跳过日期的 ICS 日历文件

2026-10-24

使用一个带RRULE的重复事件,再用EXDATE排除跳过日期,比写多条互不关联事件更能表达每周计划。本例生成五次周一安排并跳过11月16日,展开后应剩11月2日、9日、23日和30日四次。

时间与例外先人工确认

附件固定UTC时间01:00至01:30,对应北京时间上午09:00至09:30。起始日为2026年11月2日,计划出现五次,其中一日明确排除。UTC写法用于避免样例依赖本机时区,不是所有跨地区会议的推荐表达。若用户期待当地每周同一钟点且地点有夏令时,需要正确的TZID与时区定义,并在目标客户端确认转换结果。

重复规则保留为一个事件

schedule.ics包含VCALENDAR和VEVENT,事件有UID、DTSTAMP、DTSTART、DTEND、RRULE与EXDATE。COUNT表示规则产生的次数,EXDATE再排除其中一次,不应把COUNT直接理解为最终保留数量。这个静态文件没有参会人和邀请发送动作,不会替你通知任何人;导入也不等于云端已经建立团队共享日历。

先看展开表再试导入

脚本根据本例规则输出expanded-occurrences.csv,四条起止时间都应保留半小时。使用时先与纸面计划逐日核对,再导入单独的测试日历,检查跳过日没有出现、其他日期没有偏移。本文实际复算的是这套固定每周规则,不提供一个覆盖RFC所有重复组合的日历引擎。需要复杂BYDAY或月底规则时,应使用专门解析库并重新测试边界。

不假设重复导入会自动更新

UID稳定有助于识别同一个事件,但不同客户端对重复导入、更新和冲突的处理不同,不能承诺再次导入必然覆盖原记录。失败命令把结束时间放到开始之前,程序拒绝输出合理日程。节假日、个人请假和会议室资源也不会从ICS规则自动推出来,必须明确输入。本例只处理原创合成计划,没有登录真实日历;要发布给别人时,应说明时区、导入方式及是否需要先删除旧测试记录。

先把计划交给本人确认,尤其检查开始日期是否就是第一次发生日。例外日期必须与重复事件采用一致时间表示,否则可能排除不到目标那一次;导入后的截图或展开表应与确认计划对应,不能只记下“客户端没有报错”。

下载与复现

下载完整样例包,解压到一个新文件夹;也可查看全部文件清单和主脚本。使用Python 3.10或更新版本,在解压目录运行。此脚本只使用标准库,无需安装额外包。

python -B run.py
python -B run.py --negative

先查看主要结果,再修改输入重跑;已有输入会保留,结果写回同目录。边界命令可能故意非零退出,也可能输出明确的不适用状态,按正文说明判断,不把所有非零退出都当成安装故障。

依据与延伸阅读

资料核对日期为2026年10月24日。一手资料1:RFC5545定义UID、RRULE、EXDATE及日期时间表示;排除日期作用于重复事件集合。

继续阅读:WorkBuddy 怎么接 Google 日历和云盘?官方实践里有一条建议值得抄;AI 给了任务依赖图,怎样算出最早完工时间和关键路径;Responses 对话想试两种方案,怎样从同一轮分叉而不把另一条支线带进来。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。

加微信,把这一页存到手机上

扫码加站长企业微信,会自动把这一页的链接发给你,方便在手机上接着看。AI 落地卡住了,也可以直接问。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。