0%

Cron表达式讲解

格式

[秒] [分] [时] [日] [月] [周] [年]

语法

参数 可选值 可选通配符 必填
0-59 , - * /
0-59 , - * /
0-23 , - * /
1-31 , - * ? / L W
1-12 OR JAN-DEC , - * /
1-7 OR SUN-SAT , - * ? / L #
empty OR 1970-2099 , - * /

通配符说明

  1. 若设置时,使用英文,则不区分大小写;
  2. L和W是可以组合使用的,此时也只能在日字段上使用。“LW”表示本月最后一个工作日。
通配符 意义 描述
, 多值连接 如在小时参数上设置“7,9”,表示在7点和9点分别触发
- 区间 如在小时参数上这是“7-9”,表示在7到9(7,8,9)点分别进行触发
* 任意值 如在秒参数上设置,则表示每秒触发
? 不指定 如在日参数上设置,表示不管今天是多少号,只要其他参数满足条件即触发
/ 间隔 间隔递增,如在秒参数上设置“0/30”,表示每30秒触发一次
L 最后 在日字段设置上,表示当月的最后一天(如6月31日、9月30日,会判断闰年的2月);在周字段上则表示星期六,是按照西方的习惯,此时就等于”7”或”SAT”。在”L”前加上数字,则表示该数据的最后一个。例如在周字段上设置为”5L”,则表示“当前月的最后一个星期四”
W 最近工作日 离指定日期的最近工作日。如设置为10W,则表示离10日最近的工作日。如果10日为工作日,则触发,如果10日喂周六,则在周五触发,如果10日为周六,则在下周一触发。
# 序号 表示每月的第几个周几,在周字段上使用。如设置为3#2,则表示在每月的第2个周三。

样例

  • 0 30 8 * * ? *
    每天8点30分触发
  • 0 0/5 * * * *
    每5分钟触发