Cron 表达式解析

Cron 表达式调度后台任务,但五段与六段(含秒)语法、星期与日的互斥规则常让人困惑。本工具解析 cron 字符串并展示未来触发时间,帮助确认 K8s CronJob、GitHub Actions 与 Linux crontab 是否按预期运行。编写复杂正则匹配 cron 字段时可参考 regex-tester。

阅读完整指南: Cron 定时任务:表达式语法与排错 →

隐私提示:本地解析,不上传服务器。

↓ 在下方输入区粘贴内容,结果会立即显示

输入 5 段 cron 表达式 (分 时 日 月 周); 实时解析为可读说明。与 crontab-generator 互补。

Minute

minute 0

Hour

hour 2

Day of month

every day

Month

every month

Day of week

every weekday

注释说明

说明

标准 5 字段 cron; 复杂组合可能仍需人工确认。解析在浏览器本地完成。

Cron 表达式调度后台任务,但五段与六段(含秒)语法、星期与日的互斥规则常让人困惑。本工具解析 cron 字符串并展示未来触发时间,帮助确认 K8s CronJob、GitHub Actions 与 Linux crontab 是否按预期运行。编写复杂正则匹配 cron 字段时可参考 regex-tester。

快速开始

  1. 输入表达式

    如 0 2 * * * (每天 2:00)。

  2. 查看说明

    五字段分别解释。

字段顺序

minute hour day-of-month month day-of-week; 与 crontab-generator 一致。

典型工作流

当接手遗留项目时,常会遇到神秘的 cron 表达式。此时将该表达式粘贴到本工具,立即获得人类可读的说明:比如 '30 2 * * 1' 会显示'每周一凌晨2:30运行'。这种可视化解析比直接阅读代码更直观高效。

在配置 CI/CD 流水线时,先用工具测试表达式逻辑是否正确。比如 '0 */4 * * *' 实际表示每4小时运行(而非每4分钟),工具会明确提示'每小时的第0分钟,且小时数能被4整除时触发',避免部署后才发现定时错误。

五段与六段 cron

Linux crontab 五段:分 时 日 月 周。含秒六段用于 K8s 部分控制器。字段顺序错误导致 entirely wrong schedule——粘贴前确认文档。

日 vs 周 互斥规则:both 指定时 Linux 行为 implementation-defined。GitHub Actions 用 5 段 UTC。

时区陷阱

crontab 通常服务器本地 TZ;K8s CronJob 多 UTC。DST 切换日可能 skip 或 duplicate run——timezone-utc-dst 指南必读。

parser 展示 next N fires;跨 DST 边界人工核对 hour 字段。

与部署

cron 触发 deploy 需 idempotent job;semver release cadence 独立但常同文档。regex-tester 验证 cron 字段 regex。

误配 */1 与 * 区别导致每分钟 vs 每 hour 差异。

示例

每日 2 点

Input

0 2 * * *

Output

Hour: every hour at 2…

FAQ

支持 6 字段吗?

当前仅 5 字段标准 cron。

本地解析吗?

是。

为什么我的 */5 在日字段表示每5天,而在分字段表示每5分钟?

这是因为 cron 各字段的取值范围不同。工具会智能结合字段上下文解释符号:分字段(0-59)的 */5 即每5分钟,而日字段(1-31)的 */5 表示每5天。我们会在解析结果中用黄色高亮此类易混淆操作符。

@daily 支持吗?

视解析器;宏可能需展开为标准 cron。

为何 next run 不对?

时区、字段顺序、或 DST;核对 TZ 设置。

L 和 W 特殊字符?

Quartz 扩展;标准 cron 不支持。