Quartz Cron表达式详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Quartz Cron表达式详解相关的知识,希望对你有一定的参考价值。

Cron Expressions

     cron的表达式是字符串,实际上是由七子表达式,描述个别细节的时间表。

  <cron-expression>0 0 0 15 * ?</cron-expression>:每个月的15号执行一次
  秒 分 时 日 月 年

  0:表示凌晨,*表示任意时间

  0 0/10 0 15 * ?:每个月的15号每10分钟执行一次。

  1.        Seconds
  2.        Minutes
  3.        Hours
  4.        Day-of-Month
  5.        Month
  6.        Day-of-Week
  7.       Year (可选字段)

     1)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

               “W”字符:指定离给定日期最近的工作日(周一到周五)

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

        2)Cron表达式范例:

                 

字段 允许值 允许的特殊字符 
    秒 0-59 , - * / 
    分 0-59 , - * / 
    小时 0-23 , - * / 
    日期 1-31 , - * ? / L W C 
    月份 1-12 或者 JAN-DEC , - * / 
    星期 1-7 或者 SUN-SAT , - * ? / L C # 
    年(可选) 留空, 1970-2099 , - * / 

表达式 意义 
"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触发 

Corn表达式在线验证:http://cron.qqe2.com/

 技术分享

























以上是关于Quartz Cron表达式详解的主要内容,如果未能解决你的问题,请参考以下文章

Quartz job.xml配置的Cron表达式详解

quartz定时任务cron表达式详解

quartz定时任务cron表达式详解

quartz.net 时间表达式----- Cron表达式详解

quartz.net 时间表达式----- Cron表达式详解

定时任务 Quartz @Scheduled注解中的 cron表达式 详解示例