定时任务调度框架Quartz--Cron表达式
文章目录
cron表达式
cron表达式总共有7位,记忆口诀:秒分时天月,星期+年
还可以使用一些特殊符号:
*
:表示任意值。比如用于秒 (1号位)
,表示每一秒。取值范围相当于0~59。比如* 38 16 * * ?
,表示在16:38分的这一分钟里每一秒都要执行。如果用于小时 (3号位)
,比如"16 10 * * * ?"
,相当于每个小时的10分16秒都要执行,一天执行24次。
?
:只能用于天 (4号位)
与 星期几(6号位)
,表示不确定的时间。比如下面的这个表达式0 0 2 1 * ?
,表示每个月的1号的凌晨两点执行。6号位表示星期几,因为每个月的1号是星期几并不确定,所以就用?
替代,也是情理之中。
/
:表示按照固定时间触发。比如下面的表达式0 0/5 2 1 * ?
表示每个月的1号的凌晨2:00执行,然后按照每5分钟的频率继续执行,下次执行的时间是 2:05 , 2:10,2:15 。。。。,直到2:55最后一次执行
,下一个月会重复此情况。
注意。"0/10 59 15 * * ?"
这种表达式指定了在15:59分执行,在15:59开始的这一分钟内,每10秒执行一次。但是到了16:00就会停止执行。它只会在15:59这一分钟内按照10秒一次的执行频率执行。
同理,"0 57/1 16 * * ?"
,它只能在16点到17点之内循环执行,此表达式是16:57分开始执行,并且每分钟执行一次,分别为16:57、16:58、16:59。到了今天17点就不再执行。明天会重复今天的执行情况。
-
:表示一个范围。比如用到秒(1号位)
,"0-20 07 17 * * ?"
,表示17:07:00 立刻执行,直到17:07:20,共执行20次。
又例如用到分钟 (2号位)
:0 15-18 17 * * ?
表示17点15分、17点16分、17点17分、17点18分执行,共执行4次。明天会重复今天的执行情况。
,
:表示枚举。0 0 1,2,3 * * ?
表示每天凌晨1点、凌晨2点、凌晨3点执行,共执行3次。明天会重复今天的执行情况。0 0/5 1,2,3,4 * * ?
,跟/
结合起来,此时表示每天凌晨1点到4点之间,每5分钟执行一次。
L
::只能出现在天(4号位)
,表示最后一天、星期 (6号位)
,表示最后一个星期,例如5L,意味着在最后的一个星期四触发。(1=Sunday)。0 15 10 L * ?
:每月最后一日的上午10:15触发 。 0 15 10 ? * 6L
每月的最后一个星期五上午10:15触发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?