spring 定时任务 CronExpression时间表达式编写

来源:互联网 发布:mybatis中sql拼装时间 编辑:程序博客网 时间:2024/05/20 03:42

表达式中的域有6个必填项,一个可选项,其中year是可选的

Field Name

 

Allowed Values

 

Allowed Special Characters

Seconds

 

0-59

 

, - * /

Minutes

 

0-59

 

, - * /

Hours

 

0-23

 

, - * /

Day-of-month

 

1-31

 

, - * / ? L W

Month

 

1-12 or JAN-DEC

 

, - * /

Day-of-Week

 

1-7 or SUN-SAT

 

, - * / ? L #

Year (Optional)

 

empty, 1970-2099

 

, - * /

1)  “*” 任意值,可用于 秒、分、时、日、月。

2)  “?” 只用于Day-of-month和Day-of-Week,没有限定的值

3)  “-”用于限定范围  如:2-6

4)  “,”附加一个值,比如:2,3就表示要满足2和3两个值

5)  “/” 间隔时间(增量), a/b 从a时刻起每隔b时间重复一次。

6)  “L”是last的缩写,只用于Day-of-month和Day-of-Week,如:每月的最后一天,每周的最后一天

7)  “W”是weekday的缩写,只用在Day-of-month域, 代表最近的工作日,比如,15W在day-of-month上,如果15号是周六,则任务在14号执行,如果15号是周日,则任务在16号执行,如果15号是周一到周五的某一天,则任务就在周一到周五的那天执行。

8)  “#”只用在day-of-week域,表示每月的第几周的星期几,例如“6#3”表示每个月的第3个星期五,day 6 = Friday and"#3" = the 3rd one in the month,又如:"2#1" = the first Monday of the month and "4#5"= the fifth Wednesday of the month

 

"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触发
原创粉丝点击