Cron 表达式解析器
把 crontab 或 Quartz 的 cron 表达式翻译成通俗的中文说明,并按所选时区列出接下来的运行时间,同时标出与夏令时冲突的运行。
按标准 crontab 行(Vixie cron / cronie)解析:分、时、日、月、星期(0 或 7 = 星期日)。当“日”和“星期”都有限制时,满足其中之一就会运行。
| 运行时间 (UTC) | 星期 |
|---|---|
| 2026-11-10 09:30 | 二 |
| 2026-11-11 09:30 | 三 |
| 2026-11-12 09:30 | 四 |
| 2026-11-13 09:30 | 五 |
| 2026-11-16 09:30 | 一 |
| 2026-11-17 09:30 | 二 |
| 2026-11-18 09:30 | 三 |
| 2026-11-19 09:30 | 四 |
| 2026-11-20 09:30 | 五 |
| 2026-11-23 09:30 | 一 |
Cron 表达式简短却难读。这个解析器会把 crontab 或 Quartz 表达式翻译成通俗的中文说明,并按你选择的时区列出接下来的运行时间;落在夏令时切换导致被跳过或重复的时段内的运行会被标出。它支持范围、步长、列表、月份和星期的英文缩写、@ 宏,以及 Quartz 的 L、W、#、? 标记,出错时会指出是哪个字段。
使用方法
- 粘贴表达式:crontab 为 5 个字段,Quartz 为 6–7 个字段(最前面是秒,末尾的年份可省略)。
- 设置开始日期、开始时间以及调度器所用的时区。
- 查看中文说明,以及它被识别为哪种语法。
- 在表格中查看接下来的运行时间和夏令时提示。
计算公式
crontab 的字段依次为:分(0–59)、时(0–23)、日(1–31)、月(1–12 或 JAN–DEC)、星期(0–7,0 和 7 都表示星期日,或 SUN–SAT)。Quartz 最前面多一个秒字段,星期从 1(星期日)到 7(星期六),可以带年份字段,并且两个日期字段中必须有一个写 "?"。
按 Vixie cron 的规则,如果“日”和“星期”都有限制,满足其中之一就会运行;如果其中一个以 "*" 开头,则两者都要满足。Quartz 另外支持 L(月末,或像 6L 那样表示该星期的最后一个)、L-3(月末前 3 天)、W(最近的工作日)和 #(第 n 个星期几,如 2#2)。
示例
30 9 * * 1-5 会被解读为“09:30,每周星期一至星期五”;从 2026 年 1 月 1 日(星期四)开始,当天早上就会第一次运行。Quartz 表达式 0 15 10 ? * 6L 在每月最后一个星期五的 10:15 运行,第一次是 2026 年 1 月 30 日。
常见问题
"*/15" 是什么意思?
这是步长:从最小值开始,每隔 15 个取一个。在分钟字段中就是第 0、15、30、45 分钟。像 */7 这样不能整除 60 的步长,会在每小时的第 0 分钟重新开始。
为什么同时限制“日”和“星期”时结果让人意外?
标准 cron 把“13 日和星期五”当作“13 日或任意一个星期五”,而不是“13 日且为星期五”。解析器遵循这一规则,并在说明中写成“或”。Quartz 通过要求其中一个字段写 "?" 来避免这个问题。
夏令时切换时会怎样?
时钟拨快的那天,02:30 这样的时间可能不存在;时钟拨慢的那天,01:30 可能出现两次。Vixie cron 和 cronie 会在切换后立即运行落入被跳过时段的固定时间任务,而在重复的时段内只运行一次;其他调度器可能不同,所以表格里会标出这些运行,供你判断。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/cron-expression-parser/
引用此工具
kakaoCalc. (2026, November 8). Cron 表达式解析器. https://kakao.mobile/zh/tools/cron-expression-parser/
“Cron 表达式解析器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/cron-expression-parser/.