先明确任务与结果
先统一日期与时间基准,按同一人员或资源比较。采用结束端点不占用的区间时,两场会议只有max(开始时间)<min(结束时间)才有正时长重叠;等于只是相邻。缓冲需求另加规则,不能修改原时间或把相邻写成重叠。
先固定区间与资源规则
RFC 5545的VEVENT说明定义DTSTART为包含的开始、DTEND为不包含的结束。本文借用这一端点约定做自编练习:开始包含、结束不包含,只统计正时长交集。它不是对所有日历、课程或业务系统的默认假设;真实资料若另有规则,应先明确。
还要声明谁不能同时参加、哪些会议室不能重复占用。两场会议时间重叠,但人员和资源完全独立时,不一定构成当前问题中的冲突。本例明确四场会议共用同一位人员与同一间会议室,不加入循环会议、跨日和全天事项,先把基础规则讲清楚。
完整例题:四场会议,六个无序配对
以下都是虚构练习。四场日期均为2026-10-15,采用固定UTC+08:00时间基准,所有结束时间都晚于开始时间。固定偏移只服务于这个例子,不代表任何地点长期采用的时区政策。若原始日程写“上午九点”却没有日期或时区,先按日期与偏移歧义核查补齐资料,不能直接套表。
| 会议ID | 开始 | 结束 | 共用资源 |
|---|---|---|---|
| A | 09:00 | 09:30 | 人员P / 会议室R |
| B | 09:30 | 10:00 | 人员P / 会议室R |
| C | 09:20 | 09:40 | 人员P / 会议室R |
| D | 10:00 | 10:15 | 人员P / 会议室R |
这是虚构日程核查,不创建或修改日历。日期2026-10-15,固定UTC+08:00。A 09:00–09:30;B 09:30–10:00;C 09:20–09:40;D 10:00–10:15。四场共用人员P与会议室R。开始包含、结束不包含。列出全部6个无序配对,按max(start)<min(end)判断正时长重叠,输出交集起止与分钟数;相等标为相邻,不算重叠。另对A→B、B→D检查10分钟缓冲,分栏报告。保留ID与时间;不猜缺失值,不自动改期或发送邀请。先人工算出答案,再检查AI输出
A与C的交集从较晚开始09:20到较早结束09:30,共10分钟。B与C则是09:30到09:40,共10分钟。A与B的较晚开始和较早结束均为09:30,严格小于不成立,故没有正时长重叠;B与D同理。
四场会议共有4×3÷2=6个无序配对。不能只列出相邻行,因为C会同时影响A与B;也不能把A–C和C–A算成两次。每对可保留一个稳定键,例如按ID排序后写A|C,方便发现遗漏与重复。
| 配对 | 交集或关系 | 重叠分钟 | 判定 |
|---|---|---|---|
| A–B | 09:30端点相邻 | 0 | 不重叠 |
| A–C | 09:20–09:30 | 10 | 重叠 |
| A–D | 相隔30分钟 | 0 | 不重叠 |
| B–C | 09:30–09:40 | 10 | 重叠 |
| B–D | 10:00端点相邻 | 0 | 不重叠 |
| C–D | 相隔20分钟 | 0 | 不重叠 |
转场缓冲是另外一条要求
现在只对A→B与B→D这两个指定交接检查10分钟缓冲。它们的下一场开始减上一场结束均为0分钟,所以缓冲不足10分钟;结论应是“没有时间重叠,但不满足缓冲要求”。这个判断不代表整份日程已可执行,因为A–C、B–C的真正重叠仍未解决。
若缓冲因地点不同而变化,应提供路线或明确分钟数,AI不能自行推断“同楼层五分钟一定够”。也不要把结束时间偷偷延长10分钟后覆盖原表;保留原始区间与缓冲规则,读者才能知道哪个结论来自会议占用、哪个来自额外要求。
两种报告的区别
A–B重叠10分钟,需要改期。
A–B时间重叠0分钟;可用缓冲0分钟,低于要求10分钟,缺口10分钟。
逐项验收,不根据语气相信结果
把AI输出与六对答案逐项比较:ID是否一致、原时间是否改变、漏了哪一对、是否把0当成未知。特别检查它是否只比较排序后相邻会议,或因为A与B相邻就遗漏了穿插其中的C。格式完整也不能代替配对完整。
会议改名时仍以稳定ID关联。可以参考稳定ID合并名单的核查方法,但不要因为会议标题相同就删除一项。验收记录最好保留原输入、规则、模型返回、逐对核对结果和仍需询问的问题,方便下一次修改规则时重算。
本例通过条件
- 全部6个无序配对出现且不重复。
- 仅A–C、B–C有正时长重叠,均为10分钟。
- A–B和B–D均保留相邻、0分钟重叠的事实。
- 10分钟缓冲作为单独要求,只对指定交接报告。
- 不改原时间、不发送邀请、不把练习当真实日历已同步。
缺资料时保留待确认项
实际日程可能包含取消状态、可忽略的透明事件、循环例外、多个时区与跨午夜结束时间。它们会改变比较对象或时间归一化方式。先确定哪些条目真正占用当前资源,再扩展本例方法;缺结束时间时,应标为无法按本规则判断,而不是假造一个默认时长。
如果只是需要机器规则来找重叠,程序和电子表格也能计算;AI更适合帮忙解释异常与整理待确认项。无论采用哪一种方式,最后都应回到原始日程和有权限的日历操作流程,不把一段文字建议当作实际改期完成。
三类不同结果
可计算
日期、时间基准、开始结束与资源都明确,逐对给出交集。
规则冲突
资料完整,但缓冲或资源约束未满足,报告规则与缺口。
资料不足
缺日期、时区、结束或资源,列出缺项并保留未知。
常见问题
09:30结束、09:30开始算冲突吗?
按本文开始包含、结束不包含且只算正时长交集的规则,不算时间重叠。是否满足转场缓冲要另行检查。
可以让AI直接把冲突会议挪开吗?
本文只做核查,不授权改日历。实际改期还要确认参与人、资源、时区、通知和权限,不能把建议当成已执行。
为什么不能只比较排好序的相邻行?
一场较长或穿插的会议可能与多个条目重叠。本例C同时影响A与B。完整配对或经过验证的区间算法才能避免这种遗漏。


