Cron表达式在线解析工具

输入Cron表达式,查看未来执行时间。支持标准Cron表达式格式(5位和6位),包括Quartz调度器扩展语法。

常用示例: 每周一9:00 每月1日0:00 每5分钟 每天12:00 工作日8-18点每小时
5位表达式格式说明:      分 时 日 月 星期
6位表达式格式说明: 秒 分 时 日 月 星期

执行时间结果

以下是根据您的Cron表达式计算出的未来执行时间:

# 执行时间

Cron表达式示例

以下是一些常用的Cron表达式示例,您可以直接测试或复制使用:

# 场景 Cron表达式 操作

什么是Cron表达式

Cron表达式是一种用于配置定时任务执行时间的字符串格式,广泛应用于Linux系统的crontab、Quartz调度器、Spring Scheduler等定时任务框架中。通过Cron表达式,您可以精确地定义任务在何时执行,支持分钟、小时、日期、月份、星期等多个时间维度的灵活配置。

Cron表达式通常由5或6个时间字段组成,每个字段用空格分隔,表示不同的时间单位。标准的5位表达式格式为:分 时 日 月 星期,而6位表达式在最前面增加了字段。

Cron表达式语法规范

时间字段说明

位置 字段 允许值 允许的特殊字符
1秒(可选)0-59* / , -
2分钟0-59* / , -
3小时0-23* / , -
4日期1-31* / , - ? L W
5月份1-12 或 JAN-DEC* / , -
6星期0-7 或 SUN-SAT* / , - ? L #

特殊字符说明

  • *:表示匹配该字段的所有值,例如在分钟字段使用*表示每分钟
  • ?:只能用在日期和星期字段,表示"无指定值",用于避免日期和星期冲突
  • -:表示范围,例如1-5表示1到5
  • ,:表示列举值,例如MON,WED,FRI表示周一、周三、周五
  • /:表示步长,例如*/5表示每5个单位执行一次
  • L:只能用在日期和星期字段,表示"最后",例如L在日期字段表示当月最后一天
  • W:只能用在日期字段,表示最近的工作日
  • #:只能用在星期字段,表示第几个星期几,例如6#3表示第三个星期五

注意事项

  • Cron表达式对大小写不敏感,月份和星期的英文名称可以使用大写或小写
  • 日期和星期字段不能同时指定具体值,其中一个必须使用?表示无指定
  • 在使用6位表达式(包含秒)时,某些系统可能不支持,请根据实际环境选择合适的格式
  • 注意时区问题,不同系统可能使用不同的时区设置
  • 避免在高频率任务中使用过大的执行数量,可能影响系统性能
  • 表达式中的空格必须使用标准空格字符,不能使用制表符或其他空白字符

常见问题

Cron表达式解析失败怎么办?

请检查表达式格式是否正确,确保每个字段的值在允许范围内,特殊字符使用正确。可以参考页面上的示例表达式,或使用测试功能验证表达式是否有效。

为什么日期和星期不能同时指定?

Cron表达式设计中,日期和星期字段存在冲突关系。如果同时指定了日期和星期,系统无法确定具体的执行时间。通常使用?表示其中一个字段无指定,让另一个字段生效。

如何表示"每月最后一天"?

在日期字段使用L字符,例如 0 0 L * ? 表示每月最后一天的午夜执行。

Quartz和Linux Cron有什么区别?

Quartz支持6位表达式(包含秒),而Linux Cron默认只支持5位表达式。此外,Quartz还扩展了L、W、#等特殊字符,提供更丰富的调度能力。

相关工具