Cron Expressions用于配置CronTrigger的实例。
Cron Expressions是由七个子表达式组成的字符串,用于描述时间的各个细节。这些子表达式用空格分隔,并表示:
[秒] [分] [小时] [天] [月] [周] [年]
Seconds Minutes Hours Day-of-Month Month Day-of-Week Year (optional field)
时间字段 是否必填 允许值 特殊字符
秒 是 0-59 ,-*/
分 是 0-59 ,-*/
时 是 0-23 ,-*/
日 是 1-31 ,-*?/LWC
月 是 1-12或者JAN-DEC ,-*/
周 是 1-7或者SUN-SAT ,-*?/LC# 说明:周天用1表示,依次类推
年 否 空或1970-2099 ,-*/
,:表示或的关系
-:范围的关系【比如1-21】
*:每秒、每分、每小时等
/:每天哪个时间执行
L:表示为每月的最后一天,或每个月的最后星期几如“6L”表示“每月的最后一个星期五”
W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日。
例如15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15日是星期日,则匹配16号星期一;
如果15号是星期二,那结果就是15号星期二。
但必须注意关联的匹配日期不能够跨月,如你指定1W,如果1号是星期六,结果匹配的是3号星期一,而非上个月最后的那天。
W字符串只能指定单一日期,而不能指定日期范围;
#:是用来指定每月第n个工作日,例在每周(day-of-week)这个字段中内容为"6#3" or "FRI#3" 则表示“每月第三个星期五”
表达式举例
每天14:20提醒打卡:0 20 14 ? * MON-FRI
每天1点到1点59分,每隔5分执行:0 0/5 1 * * ?
周一到周五9:00上班的时候执行:0 0 9 ? * 2-6
每隔5秒执行一次:*/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
注意点:?只能用在"天和周"
如果有一个字段是*,那么另外一个用?;
天和周有一个确定了,另外一个就得用?;
母亲节:0 0 8 ? 5 1#2 0 0 8 ? 5 SUN#2
Cron表达式
最新推荐文章于 2024-01-19 10:16:00 发布