首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >quartz定时器cron语法

quartz定时器cron语法

作者头像
王念博客
发布2019-07-25 17:44:20
9740
发布2019-07-25 17:44:20
举报
文章被收录于专栏:王念博客王念博客

前言:因为之前没有接触cron语法,所以每次设置时间的时候就得请教别人。现在整理了一些常用的。有个自动生成cron语法的工具:http://cron.qqe2.com/

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 , - * /

“?”字符:表示不确定的值

“,”字符:指定数个值

“-”字符:指定一个值的范围

“/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m

“L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X

“#”字符:表示该月第几个周X。6#3表示该月第3个周五

表达式意义

"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触发

每隔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 * * ?

此外还包括一些特殊符号

– ,

用–与,实现用以形成与/或关系,如放在Day of week域中’MON-FRI’表示周一到周五,’ MON-WED,SAT’表示”周一到周三还包括周六”

*

每个、任何,如放在Month域中就表示每个月

/

指定递增的时间段,如’0/15’在分钟域表示”每15分钟,开始是第零分钟”,如’3/20’在分钟域表示”一个小时间每隔20分钟,在第三分钟时开始”

?

该符号只能放在Day of month与Day of week域中,不指定值,当在这两个域中指定其中之一时而不指定另外一个时,那么另外一个就用?替代

L

该符号只能放在Day of month与Day of week域中,在Day of month域中表示当月的最后一天,如果在Day of week域只有L表示这个星期的最后一天同’ 7’或’ SAT’意义相同,但如果在L前面还有内容就表示这个月的最后一个星期几,如’6L’ or ‘FRIL’就表示这个月的最后一个星期五

W

指定与工作日最接近的一天,如在day-of-month域中’15W’表示与这个月第15天最近的那个工作日的那一天

#

指定一个月中的第n个星期几,如’ "6#3" or "FRI#3"在Day of week域中表示”每个月的第三个星期”

用例:

"0 0/5 * * * ?" 每5分钟触发一次

"10 0/5 * * * ?" 每5分钟的第10钞触发一次(i.e. 10:00:10 am, 10:05:10 am, etc.).

"0 30 10-13 ? * WED,FRI" 每周三与周五的10:30, 11:30, 12:30, and 13:30触发

"0 0/30 8-9 5,20 * ?" 在每月的第五与第20天的8:00, 8:30, 9:00 and 9:30触发,但不包括10:00

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档