目录

cron表达式

cron表达式

包含6或7个参数,代表不同的时间单位和取值范围:

  • 秒(0-59)
  • 分(0-59)
  • 时(0-23)
  • 日(1-31)
  • 月(1-12 或 JAN-DEC)
  • 星期几(0-6 或 SUN-SAT)
  • 年(可选,1970-2099)

其中日和星期几一般不同时指定值,因为可能会冲突,一个指定值后另一个会用?来表示忽略,即不指定具体值。

符号*表示任意值,/表示间隔,,用于指定多个值,-表示取值范围,#用于指定第几个星期几,L表示最后一天(Last)。

W表示距离指定日期最近的工作日(Weekday),如果当天不是工作日则提前到最近的工作日。W只能用于日字段上。

C表示距离指定日期最近的工作日(Calendar),如果当天不是工作日则延后到最近的工作日。C可以用于日、月、星期字段上。

例子如下:

1
2
3
4
5
0 0 0 * * *:表示每天零点执行一次。
0 0/30 10-12 * * 3#1:表示每个月的第一个星期三早上10点到12点每隔半小时执行一次。
0 0 2,4,6 L * ?:表示每个月最后一天的2、4、6点执行一次。
0 0 0 10W * ?:表示每个月的10号零点执行一次,如果10号是周末,则提前到最近的工作日即9号。
0 0 0 10C * ?:表示每个月的10号零点执行一次,如果10号是周末,则延后到最近的工作日即11号。

参考链接