时间戳与调度指南
秒、毫秒与 Cron:先明确单位和时区
用已知时间戳核对单位,区分绝对时间与本地日历时间,并按目标时区预览 Cron 执行。
用已知值确认单位
Unix 时间戳从 1970-01-01T00:00:00Z 开始计时。API 常使用秒,JavaScript Date 使用毫秒。现代 10 位值通常是秒、13 位通常是毫秒,但位数只是经验判断。
下面两个值表示同一时刻。本站自动识别常见形式;历史时间、负数或长度特殊的值应明确选择单位。
Seconds: 1704067200
Milliseconds: 1704067200000
UTC: 2024-01-01T00:00:00.000Z时刻与时区不是一回事
切换时区改变的是日历显示,不改变时间戳代表的时刻。示例在 UTC 是 00:00,在 Asia/Shanghai 是 08:00。+08:00 只表示偏移,IANA 时区还包含历史和夏令时规则。
没有偏移信息的日期时间必须约定时区。不能把来自不同时区的字符串直接当作时刻比较,应先统一为时间戳或带偏移的 ISO 8601。
在目标时区检查 Cron
标准五字段 Cron 的顺序是分、时、日、月、星期。下面的表达式表示所选时区中周一至周五的 09:00。
本站可设置时区、起算时间和未来 10/20/50 次执行;只列出起算时间之后的结果。日与星期同时受限时采用 OR,其他调度器可能使用不同方言。
0 9 * * 1-5检查夏令时切换边界
夏令时前进时,某些本地时间不存在;回退时,某些时间出现两次。每天 02:30 的任务,在不同调度器中不一定有相同行为。
本站时间转换器拒绝不带偏移且存在歧义或不存在的本地时间,Cron 预览采用 cron-parser 的夏令时策略。应核对切换前后的日期,并确认实际调度器的规则。