Cron 表达式解析与生成

解析 Cron 表达式并预测执行时间

浏览器内运算Cron Expression Parser排错型06时间与数值

什么是Cron 表达式解析与生成

Cron 表达式工具拆解五个字段的含义,并计算接下来 8 次实际执行时间,支持按指定时区推算。它能直接回答「这个表达式到底什么时候跑」,解析在浏览器本地完成。

怎么用Cron 表达式解析与生成

  1. 1输入 Cron 表达式,或从模板下拉里选一个常用配置。
  2. 2查看字段拆解,确认每个字段的取值范围。
  3. 3看右侧接下来 8 次执行时间,验证是否符合预期。
  4. 4按需切换时区——服务器时区与你的本地时区可能不同。

在代码里怎么实现?

一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。

# 分 时 日 月 周  命令
*/15 9-18 * * 1-5 /usr/local/bin/sync.sh >> /var/log/sync.log 2>&1

# 查看当前用户的定时任务
crontab -l

常见错误与排查

现象成因修复
任务在预期之外的时间也执行了日与星期两个字段同时限定时是「或」关系,不是「与」关系。需要「每月 1 号且是周一」这种语义时,只能在脚本内部再判断一次。
服务器上比预期早或晚几小时cron 使用服务器时区,而你按本地时区理解表达式。用工具切换到服务器时区确认,或在容器里显式设置 TZ 环境变量。

常见问题

5 段和 6 段表达式有什么区别?+

Linux crontab 是 5 段(分 时 日 月 周),最小粒度是分钟;Quartz(Java 生态)是 6 或 7 段,开头多一个秒字段、结尾可选年字段。把 Quartz 表达式贴到 crontab 会直接报错,需要去掉秒字段。

*/15 和 0,15,30,45 等价吗?+

在分钟字段上等价。但要注意 */15 是从字段的最小值开始步进,在小时字段写 */5 得到的是 0、5、10…而不是从当前小时开始,容易与直觉不符。

相关工具

全部工具