工具介绍
Cron表达式是用于定义定时任务执行规则的标准表达式,本工具支持可视化生成标准5段Cron表达式,同时提供中文解释和未来10次触发时间推算。
使用方法
分别对分、时、日、月、周五个时间维度选择规则类型:
- 任意:表示该维度不限制,每一个值都满足
- 指定值:仅指定的单个值满足条件
- 周期:从指定起始值开始,每隔固定步长满足
- 范围:在指定的起止区间内都满足
- 列表:指定多个值,满足任意一个即可
选择完成后会自动生成Cron表达式、中文解释,并列出未来10次满足规则的触发时间。
计算说明
标准5段Cron格式:分 时 日 月 周
- 分:取值范围0-59
- 时:取值范围0-23
- 日:取值范围1-31
- 月:取值范围1-12(1代表1月)
- 周:取值范围0-6(0代表周日,1代表周一,以此类推)
本工具计算触发时间基于浏览器本地时间,仅供参考,不构成专业开发建议。
为什么Cron有不同的段数?我这个应该用5段还是6段?
Cron常见格式有5段和6段(部分系统还有7段):5段就是分 时 日 月 周,6段通常多了秒位在最前面。Linux/Unix系统的Cron默认使用5段格式,大部分编程语言的定时任务库也兼容这个格式。如果是需要秒级精度的任务,会使用6段格式(开头增加秒位)。
日和周同时指定会怎么处理?
标准Cron规则是日和周两个条件只要满足一个就会触发,例如指定日为1,周为周日,则每个月1号和每个周日都会触发任务。
推算的触发时间和实际服务器的时间一致吗?
不一致,本工具推算的触发时间基于你当前设备的本地时区和时间,如果你的服务器使用不同时区,需要自行转换时区。
为什么有些日期比如31号无法触发?
如果指定日为31号,那么只有31天的月份会触发,2月、30天的月份不会触发这个规则,如果需要每月最后一天触发,需要使用特殊写法(部分Cron实现支持L,本工具暂不支持特殊符号)。