关于Cron 表达式解析
Cron 表达式是 Unix / Linux 系统中用于配置定时任务的标准语法,由 5 个字段(分 时 日 月 周)组成,每个字段使用 *、数字、范围、列表、步长等通配符描述时间规则。Cron 广泛用于 Linux crontab、Spring Scheduled、Quartz、Airflow、Kubernetes CronJob 等定时任务框架,是后台任务调度的核心配置。
编写 Cron 表达式时,开发者常因为字段顺序、特殊字符、边界情况而困惑:「* * * * *」与「0 * * * *」的区别、「0 9 * * 1-5」表示工作日 9 点还是周一到周五的 9 点、「*/15 * * * *」是每 15 分钟还是其他含义等。手动推导下次执行时间既繁琐又易错,借助专门工具可以瞬间解析。
本 Cron 表达式解析工具支持标准 5 字段与 6 / 7 字段(带秒与年)的 Cron 语法,自动解析表达式含义并预览接下来 N 次执行时间,便于验证表达式是否符合预期。所有解析在浏览器本地完成,无需联网。
核心特性
多格式支持
支持标准 5 字段 Cron(分 时 日 月 周)、6 字段(带秒)、7 字段(带秒与年),适配不同调度框架要求。
自然语言描述
自动将 Cron 表达式转换为可读的自然语言描述,如「每个工作日 9 点执行」。
下次执行预览
列出接下来 5-10 次执行时间,便于验证表达式是否符合预期调度逻辑。
错误友好提示
解析失败时返回具体的错误字段与原因(如月份超出范围、非法字符等),帮助快速定位。
本地处理零上传
所有解析在浏览器内完成,无需联网。
使用场景
配置定时任务
编写 crontab、Kubernetes CronJob、Airflow DAG 时,先在本工具预览执行时间,避免配置错误。
排查调度异常
当定时任务不按预期执行时,解析 Cron 表达式查看是否字段写错或边界处理错误。
学习 Cron 语法
通过对比不同表达式的执行时间,理解 * / , - 等通配符的含义。
跨时区调度
跨时区调度时,根据执行时间确认是否考虑了时区差异。
常见问题
Cron 表达式 5 字段与 6 字段有什么区别?
5 字段 Cron 包含「分 时 日 月 周」5 个字段,是 Unix 标准;6 字段增加了「秒」字段,常见于 Spring、Quartz 等框架;7 字段进一步增加了「年」。本工具支持三种格式,按需切换。
*/15 * * * * 是什么意思?
表示「每 15 分钟执行一次」,即每小时的第 0、15、30、45 分钟执行。*/N 表示从字段起始值开始,每 N 个单位执行一次。
Cron 中 0 与 Sunday 是什么关系?
在周字段中,0 与 7 通常都表示周日(具体取决于实现),1-6 表示周一到周六。建议查看具体框架的文档确认。
表达式解析结果与实际执行不一致怎么办?
可能是时区差异导致。不同框架对 Cron 的时区处理不同,Linux crontab 默认使用系统时区,Kubernetes CronJob 可指定时区。请检查框架的时区配置。