您的位置:首页 > 编程语言 > Java开发

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

2013-05-07 17:27 489 查看
表达式中的域有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触发
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: