在我们的应用中有许多定时任务,如定时生成报表,定时提醒等,我们基本上都采用Quartz组件来完成这些定时任务。Quartz的定时时间用cron表达式来表示,规则如下:总共有七个域,每个域之间用空格分隔,每个域的表示及取值如下:
域名 |
是否强制 |
允许值 |
允许字符 |
秒 |
是 |
0-59 |
, - * / |
分 |
是 |
0-59 |
, - * / |
小时 |
是 |
0-23 |
, - * / |
日 |
是 |
1-31 |
, - * ? / L W C |
月 |
是 |
1-12 or JAN-DEC |
, - * / |
星期 |
是 |
1-7 or SUN-SAT |
, - * ? / L C # |
年 |
否 |
empty, 1970-2099 |
, - * / |
示例:
表达式 |
含义 |
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 * * ? |
每天14点开始,到14:59的每分钟 |
0
0/5 14 * * ? |
每天14点开始,到14:55的每5分钟 |
0
0/5 14,18 * * ? |
每天14点开始,到14:55和每天18点开始,到18:55的每5分钟 |
0
0-5 14 * * ? |
每天14点开始,到14:05的每分钟 |
0 10,44 14 ? 3 WED |
3月份每个星期三的14:10和14:44 |
0 15
10 ? * MON-FRI |
每个月的星期一、星期二、星期三、星期四、星期五的10:15 |
0 15
10 15 * ? |
每个月15号的10:15 |
0 15
|
每个月最后一天的10:15 |
0 15
10 ? * |
每个月最后一个星期五的10:15 |
0 15
10 ? * |
2002-2005年每个月最后一个星期五的10:15 |
0 15
10 ? * 6#3 |
每个月第三个星期五的10:15 |
0 0 12 1/5 * ? |
每个月1号开始,每隔5天的12点 |
0 11
11 11 11 ? |
11月11号的11:11 |