cron expression的用法
cron的表达式被用来配置CronTrigger实例. cron的表达式是字符串, 由7个子表达式描述时间属性, 这些子表达式用空白隔开. 这7个子表达式从左到右分别表示:
Seconds 用数字0~59表示
Minutes 用数字0~59表示
Hours 用数字0~23表示
Day-of-Month 用数字1~31表示
Month 用数字0~11表示, 或者用字符串"JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC"表示
Day-of-Week 用数字1~7表示 ( 1 = 星期日 ), 或者用字符串"SUN, MON, TUE, WED, THU, FRI and SAT"表示
Year ( 可选字段 )
还有一些字符表示特定的含义:
* 表示任意时间
, 表示and, 如Month "3, 5, 7"表示3月, 5月和7月
- 表示一个区间段, 即开始到结束, 如Hours "3-5"表示凌晨3点, 4点和5点
/ 表示为"每", 如Minutes "0/15"表示第0分钟开始每隔15分钟执行一次, 而Hours "2/20"表示第2小时开始每隔20小时执行一次
? 表示每月的某一天, 或者每周的某一天
L 表示每月或者每周的最后一天, 也可以表示每个月的最后星期几, 如"6L"表示每个月的最后一个星期五
W 表示最近的工作日, 如Day-of-Month "15W"表示为本月15日最近的工作日
C 表示Calendar, 即
# 表示序列, "#2"即为第2, 如Day-of-Week "6#3" ( "FRI#3" ) 表示每月第三个星期五
这些特殊的字符并不是每一个子表达式都适用, 下面是各个子表达式允许使用的特殊字符
Seconds ,-*/
Minutes ,-*/
Hours ,-*/
Day-of-Month ,-*/?LWC
Month ,-*/
Day-of-Week ,-*/?LC#
Year ,-*/
cron expression的实例
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 每年三月份的每个周三下午14点10分和14点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 5 5 ? * 6L 2002-2005 2002年到2005年每个月最后一个周五的05点05分
0 15 10 ? * 6#3 每个月的第三个周五的10点15分
0 0 12 1/5 * ? 每个月从第一天开始每隔5天中午12点触发一次
0 11 11 11 11 ? 每年11月11号11点11分