Date Range Validator 插件就像一个日期规则检查助手。它可以帮助 Codex 判断开始日期和结束日期是否有效、顺序是否正确,以及整个日期范围是否符合业务限制。

它适合预约系统、请假流程、活动报名、报表查询、数据筛选和 API 参数校验等场景,可以减少日期格式错误、范围倒置和超出允许期限等问题。

一、Date Range Validator 能做什么

打开网易新闻 查看精彩图片

图 1:Date Range Validator 检查日期范围的基本流程

1、检查日期格式

插件可以检查输入内容能否被识别为有效日期或时间。

例如,2026-02-30 虽然形式接近日期,但这一天并不存在;07/08/2026 则可能因地区习惯不同而产生歧义。

在接口和系统之间传递时间时,通常应优先采用明确、统一的格式。RFC 3339 定义了适用于互联网协议的日期时间格式,并要求时间戳明确表示与 UTC 的关系。

2、检查开始与结束顺序

日期范围通常由开始日期和结束日期组成。插件可以判断:

开始日期是否早于结束日期;

是否允许开始与结束为同一天;

缺少其中一个日期时是否有效。

例如,开始日期为 2026 年 8 月 10 日,结束日期为 2026 年 8 月 5 日,通常应判定为范围倒置。

3、检查允许的上下界

部分业务只允许用户选择特定时间段。

例如,预约日期不能早于今天,也不能超过未来 30 天;财务报表只能查询系统上线后的数据;出生日期不能晚于当前日期。

范围校验通常通过最小值和最大值判断输入是否处于允许区间。类似的通用验证机制会先把输入转换为日期类型,再与上下边界比较。

4、检查范围长度

除了判断两个日期本身是否有效,还可以检查日期跨度。

例如:

酒店预订不得超过 30 晚;

请假时间不得超过 15 天;

数据查询范围最多为一年;

试用期限必须正好为 14 天。

计算跨度前应明确按自然日、完整 24 小时还是工作日统计,并说明起止日期是否都计入。

5、检查重叠与冲突

新的日期范围可能与已有记录发生重叠。

例如,会议室已经在某个时间段被预订,员工请假时间与排班冲突,促销活动的有效期与另一项活动重复。

插件可以辅助判断两个范围是否相交,并返回冲突时间、相关记录和调整建议。

二、怎样把任务说清楚

使用 Date Range Validator 时,应说明日期值、格式、时区和业务规则。

至少应提供以下信息:

1、开始日期与结束日期。

2、日期格式:如 YYYY-MM-DD 或完整时间戳。

3、允许范围:最早日期、最晚日期或最大跨度。

4、边界规则:是否包含开始日与结束日。

5、时区要求:UTC、用户当地时间或指定地区。

可以使用下面的模板:

请使用 Date Range Validator 检查以下日期范围。

开始日期:[日期或时间]

结束日期:[日期或时间]

输入格式:[格式]

时区:[时区]

最早日期:[可选]

最晚日期:[可选]

最大跨度:[可选]

边界规则:[包含 / 不包含起止时间]

完成后请说明:格式是否有效、顺序是否正确、跨度是多少、是否超出限制,以及具体的错误原因。

三、场景示例

示例 1:预约日期检查

检查用户选择的预约时间是否晚于当前时间、是否处于未来 30 天内,以及开始时间是否早于结束时间。

示例 2:请假范围验证

检查请假起止日期是否合法,并计算请假天数。若超过规定期限,则返回超出的天数。

示例 3:报表查询限制

检查查询范围是否超过一年,并确认开始日期不早于系统保存数据的最早日期。

示例 4:活动时间冲突

比较新活动与现有活动的起止时间,列出发生重叠的活动和具体冲突区间。

示例 5:API 参数校验

检查接口中的 startTime 和 endTime 是否符合统一格式、包含时区偏移,并满足接口规定的时间跨度。

四、使用时要注意

1、明确日期名称

插件名称中的 Date 表示“日期”,不是 Data“数据”。标准名称应写为 Date Range Validator。

2、统一日期格式

不要在同一任务中混用 YYYY-MM-DD、MM/DD/YYYY 和 DD/MM/YYYY。没有明确格式时,月和日可能被错误解释。

3、说明边界是否包含

“从 7 月 1 日到 7 月 3 日”可能表示包含 3 天,也可能表示在 7 月 3 日开始前结束。校验规则应明确使用闭区间、开区间或半开区间。

4、认真处理时区

相同的本地时间在不同时区代表不同的实际时刻,夏令时切换还可能造成某些时间不存在或重复。RFC 9557 在 RFC 3339 时间戳基础上增加了时区等附加信息,用于更完整地表达时间语义。

5、区分校验与业务判断

日期范围格式正确,不代表业务上一定允许。库存、人员排班、节假日、权限和资源占用仍需由对应系统进一步检查。

小结

Date Range Validator 插件用于检查日期格式、起止顺序、上下边界、时间跨度和范围冲突。明确格式、时区、边界与业务限制,是获得可靠校验结果的关键。

点赞有美意,赞赏是鼓励