Loading

Quartz Cron表达式

 官方英文介绍地址:http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/crontrigger.html

由7段构成:秒 分 时 日 月 星期 年(可选)

图例:

格式:

字段名称

强制性

允许值

允许的特殊字符

0-59

, - * /

0-59

, - * /

0-23

, - * /

1-31

, - *?/ LW

1-12或JAN-DEC

, - * /

星期

1-7或SUN-SAT

, - *?/ L#

没有

空,1970-2099

, - * /

 

所以cron表达式可以这样简单:* * * * ?*

或更复杂,如:0/5 14,18,339,52 *?JAN,MAR,SEP MON-FRI 2002-2010

 

- :表示范围  MON-WED表示星期一到星期三
, :表示列举 MON,WEB表示星期一和星期三
* :表示“每”,每月,每天,每周,每年等
/ :表示增量:0/15(处于分钟段里面) 每15分钟,在0分以后开始,3/20 每20分钟,从3分钟以后开始
? :只能出现在日,星期段里面,表示不指定具体的值
L :只能出现在日,星期段里面,是Last的缩写,一个月的最后一天,一个星期的最后一天(星期六)
W :表示工作日,距离给定值最近的工作日
# :表示一个月的第几个星期几,例如:"6#3"表示每个月的第三个星期五(1=SUN...6=FRI,7=SAT)

 

注意:

1、

‘?’的用法,指定星期和日的值不完整(您必须在其中一个字段中使用'?'字符)。如:每月的1号的每小时的31分钟,正确的表达式是:* 31 * 1 * ?,而不能是:* 31 * 1 * *,因为这样代表每周的任意一天。

 

2、

美国人星期从星期日开始,所以星期中数字1,代表是星期天。7则代表星期六。

 

3、

一个星期中七天的英文表示为:1=SUN,2=MON,3=TUE,4=WED,5=THU,6=FRI,7=SAT

1-12月依次是JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC

 

官方示例

表达式

含义

0 0 12 * * ?

每天中午12点触发

0 15 10 ? * *

每天上午10:15触发

0 15 10 * * ?

每天上午10:15触发

0 15 10 * * ? *

每天上午10:15触发

0 15 10 * * ? 2005

2005年的每天上午10:15触发

0 * 14 * * ?

在每天下午2点到下午2:59期间的每1分钟触发

0 0/5 14 * * ?

在每天下午2点到下午2:55期间的每5分钟触发

0 0/5 14,18 * * ?

在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发

0 0-5 14 * * ?

在每天下午2点到下午2:05期间的每1分钟触发

0 10,44 14 ? 3 WED

每年三月的星期三的下午2:10和2:44触发

0 15 10 ? * MON-FRI

周一至周五的上午10:15触发

0 15 10 15 * ?

每月15日上午10:15触发

0 15 10 L * ?

每月最后一日的上午10:15触发

0 15 10 L-2 * ?

在每个月的第二天到最后一天的上午10:15发生触发

0 15 10 ? * 6L

每月的最后一个星期五上午10:15触发

0 15 10 ? * 6L

每个月最后一个星期五上午10时15分触发

0 15 10 ? * 6L 2002-2005

2002年至2005年的每月的最后一个星期五上午10:15触发

0 15 10 ? * 6#3

每月的第三个星期五上午10:15触发

0 0 12 1/5 * ?

每月下午12点(中午),每月第一天触发。

0 11 11 11 11 ?

每11月11日上午11时11分触发

 

网上的一些例子:

"0 0 12 * * ?" 每天中午12点触发

"0 15 10 ? * *" 每天上午10:15触发

"0 15 10 * * ?" 每天上午10:15触发

"0 15 10 * * ? *" 每天上午10:15触发

"0 15 10 * * ? 2005" 2005年的每天上午10:15触发

"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发

"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发

"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发

"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发

"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发

"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发

"0 15 10 15 * ?" 每月15日上午10:15触发

"0 15 10 L * ?" 每月最后一日的上午10:15触发

"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发

"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发

"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发

 

在线生成:

在线Cron表达式生成器 - http://www.pppet.net/

 

:如果有错误欢迎在评论区指出,一起学习进步,非常感谢。

 

posted @ 2017-09-30 15:13  碌云  阅读(630)  评论(0编辑  收藏  举报