精华内容
下载资源
问答
  • Cron表达式生成规则

    2018-07-20 08:19:48
    个人根据Cron表达式的生成规则,自己总结了一套规则,并且每个规则下都有举例说明,介绍的比较详细,是一份不错的帮助理解的文档。
  • Quartz Cron 规则辅助生成工具.zip 可以直接根据ui操作生成cron表达式
  • 格式说明 5 30 15 8 10 ? 2008 位置 意义 取值范围 可用字符 第1位 几秒 0~59 , - * / 第2位 几分 0~59 , - * / 第3位 几点 0~23 , - * / ... ...

    格式说明

    5 30 15 8 10 ? 2008
    位置意义取值范围可用字符
    第1位几秒0~59, - * /  
    第2位几分0~59 , - * /
    第3位几点0~23 , - * /
    第4位日期1~31 ,- * ? / L W C
    第5位月份1~12或英文缩写, - * /
    第6位星期几1~7或英文缩写 , - * ? / L C #
    第7位年份1970~2099  , - * /

    • 第4位和第6位互斥,因为日期和星期会相互影响,其中一个必须为“?”。
    • 第7位可以省略,省略表示每一年
    • 使用spring的@Scheduled时不支持LWC字符表达。

    字符含义

    符号含义例子例子含义
    列举多个值5 10,30,50 15 8 10 ?10月8号15点10分、30分和50分钟的第5秒
    -指定取值范围5 10 15 1-5 10 ?10月1号至5号的每天15点10分5秒
    *该位置的所有取值范围5 * 15 8 10 ?10月8号15点每分钟的第5秒
    /开始时间和间隔时间5 5/20 15 8 10 ?10月8号15点5分开始,每间隔20分钟第5秒之心,即15:05:05/15:25/05:15:45/05三次。
    /间隔时间5 */20 15 8 10 ?10月8号15点整开始,每间隔5分钟的第5秒执行,即15:00/15:20/15:40三次。
    占位符5 10 15 8 10 ?忽略星期几,10月8号15点10分05秒。
    L表示最后一个取值5 10 15 L 2 ? 2月的最后一天15点10分05秒,支持闰年。
    W表示工作日,即周一至周五0 15 10 W 10 ?10月的每个工作日10点10分05秒
    C指定时间后的时间,只能在日起和星期上使用5 10 15 8C 10 ?10月指定日期后第8天的15点10分05秒。没有指定的话就是8号。
    #每月第几个星期几,只能在星期位上使用

    5 10 15 ? 10 6#2

    10月第2个星期6的15点10分05秒。

    展开全文
  • CRON表达式规则详解

    千次阅读 2018-12-13 10:27:01
    Cron表达式范例: */5 * * * * ? 每隔5秒执行一次 0 */1 * * * ? 每隔1分钟执行一次 0 0 23 * * ? 每天23点执行一次 0 0 1 * * ? 每天凌晨1点执行一次: 0 0 1 1 * ? 每月1号凌晨1点执行一次 0 0 23 L * ? 每月最后...

    Cron表达式范例:

    */5 * * * * ? 每隔5秒执行一次
    0 */1 * * * ? 每隔1分钟执行一次
    0 0 23 * * ? 每天23点执行一次
    0 0 1 * * ? 每天凌晨1点执行一次:
    0 0 1 1 * ? 每月1号凌晨1点执行一次
    0 0 23 L * ? 每月最后一天23点执行一次
    0 0 1 ? * L 每周星期天凌晨1点实行一次
    0 26,29,33 * * * ? 在26分、29分、33分执行一次
    0 0 0,13,18,21 * * ? 每天的0点、13点、18点、21点都执行一次

    Cron 表达式

    Cron表达式由7个部分组成,各部分用空格隔开,例如0 0 12 ? * WED(每星期三下午12:00 执行)
    Cron表达式的7个部分从左到右代表的含义如下
    Seconds Minutes Hours Day-of-Month Month Day-of-Week Year
    其中Year是可选的
    Cron表达式可选的值
    Seconds
    秒:数字0-59
    Minutes
    分:数字0-59
    Hours
    时 :数字0-23
    Day-of-Month
    月中的几号 :可以用数字1-31 中的任一一个值,但要注意一些特别的月份
    Month
    一年中的几月:可以用0-11 或用字符串 “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示
    Day-of-Week
    每周:数字1-7(1 = 星期日),或用字符口串“SUN, MON, TUE, WED, THU, FRI and SAT”
    字段名 允许的值 允许的特殊字符
    秒 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 , - * /

    Cron中的符号

    *:代表整个时间段.
    / :表示每多长时间执行一次
    0/15表示每隔15分钟执行一次,“0”表示为从“0”分开始;
    3/20表示每隔20分钟执行一次,“3”表示从第3分钟开始执行
    ? :表示每月的某一天,或第几周的某一天
    L :
    “6L”表示“每月的最后一个星期五”
    W:表示为最近工作日
    如“15W”放在每月(day-of-month)字段上表示为“到本月15日最近的工作日”
    #:是用来指定“的”每月第n个工作日
    “6#3"或者"FRI#3”:在每周(day-of-week)中表示“每月第三个星期五”
    问号(?)就是用来对日期和星期字段做互斥的,问号(?)的作用是指明该字段‘没有特定的值’,星号()和其它值,比如数字,都是给该字段指明特定的值,而星号()代表所有,在天时表示每一天。
    “?”字符:表示不确定的值
    “,”字符:指定数个值
    “-”字符:指定一个值的范围
    “/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m
    “L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X
    “W”字符:指定离给定日期最近的工作日(周一到周五)
    “#”字符:表示该月第几个周X。6#3表示该月第3个周五

    作者:阳春是你
    链接:https://www.jianshu.com/p/f03b1497122a
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    展开全文
  • cron表达式规则详解

    千次阅读 2020-11-24 16:24:43
     Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:  (1)Seconds Minutes Hours DayofMonth Month DayofWeek Year  (2)Seconds Minutes ...

    功能介绍


    cron表达式详解

      Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:

      (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year

      (2)Seconds Minutes Hours DayofMonth Month DayofWeek

      

      一、结构

      corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份

      二、各字段的含义

     
    字段允许值允许的特殊字符
    秒(Seconds)0~59的整数, - * /    四个字符
    分(Minutes0~59的整数, - * /    四个字符
    小时(Hours0~23的整数, - * /    四个字符
    日期(DayofMonth1~31的整数(但是你需要考虑你月的天数),- * ? / L W C     八个字符
    月份(Month1~12的整数或者 JAN-DEC, - * /    四个字符
    星期(DayofWeek1~7的整数或者 SUN-SAT (1=SUN), - * ? / L C #     八个字符
    年(可选,留空)(Year1970~2099, - * /    四个字符

      注意事项:

      每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是:

      (1)*:表示匹配该域的任意值。假如在Minutes域使用*, 即表示每分钟都会触发事件。

      (2)?:只能用在DayofMonth和DayofWeek两个域。它也匹配域的任意值,但实际不会。因为DayofMonth和DayofWeek会相互影响。例如想在每月的20日触发调度,不管20日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?, 其中最后一位只能用?,而不能使用*,如果使用*表示不管星期几都会触发,实际上并不是这样。

      (3)-:表示范围。例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次 

      (4)/:表示起始时间开始触发,然后每隔固定时间触发一次。例如在Minutes域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次. 

      (5),:表示列出枚举值。例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。 

      (6)L:表示最后,只能出现在DayofWeek和DayofMonth域。如果在DayofWeek域使用5L,意味着在最后的一个星期四触发。 

      (7)W:表示有效工作日(周一到周五),只能出现在DayofMonth域,系统将在离指定日期的最近的有效工作日触发事件。例如:在 DayofMonth使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。如果5日是星期天,则在6日(周一)触发;如果5日在星期一到星期五中的一天,则就在5日触发。另外一点,W的最近寻找不会跨过月份 。

      (8)LW:这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。 

      (9)#:用于确定每个月第几个星期几,只能出现在DayofWeek域。例如在4#2,表示某月的第二个星期三。

      三、常用表达式例子

      (0)0/20 * * * * ?   表示每20秒 调整任务

      (1)0 0 2 1 * ?   表示在每月的1日的凌晨2点调整任务

      (2)0 15 10 ? * MON-FRI   表示周一到周五每天上午10:15执行作业

      (3)0 15 10 ? 6L 2002-2006   表示2002-2006年的每个月的最后一个星期五上午10:15执行作

      (4)0 0 10,14,16 * * ?   每天上午10点,下午2点,4点 

      (5)0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时 

      (6)0 0 12 ? * WED    表示每个星期三中午12点 

      (7)0 0 12 * * ?   每天中午12点触发 

      (8)0 15 10 ? * *    每天上午10:15触发 

      (9)0 15 10 * * ?     每天上午10:15触发 

      (10)0 15 10 * * ? *    每天上午10:15触发 

      (11)0 15 10 * * ? 2005    2005年的每天上午10:15触发 

      (12)0 * 14 * * ?     在每天下午2点到下午2:59期间的每1分钟触发 

      (13)0 0/5 14 * * ?    在每天下午2点到下午2:55期间的每5分钟触发 

      (14)0 0/5 14,18 * * ?     在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 

      (15)0 0-5 14 * * ?    在每天下午2点到下午2:05期间的每1分钟触发 

      (16)0 10,44 14 ? 3 WED    每年三月的星期三的下午2:10和2:44触发 

      (17)0 15 10 ? * MON-FRI    周一至周五的上午10:15触发 

      (18)0 15 10 15 * ?    每月15日上午10:15触发 

      (19)0 15 10 L * ?    每月最后一日的上午10:15触发 

      (20)0 15 10 ? * 6L    每月的最后一个星期五上午10:15触发 

      (21)0 15 10 ? * 6L 2002-2005   2002年至2005年的每月的最后一个星期五上午10:15触发 

      (22)0 15 10 ? * 6#3   每月的第三个星期五上午10:15触发

      注:

      (1)有些子表达式能包含一些范围或列表

      例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”

    “*”字符代表所有可能的值

      因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天


      “/”字符用来指定数值的增量 
      例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟 
    在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样


      “?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值 
      当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”

      “L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写 
      但是它在两个子表达式里的含义是不同的。 
      在天(月)子表达式中,“L”表示一个月的最后一天 
      在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT

      如果在“L”前有具体的内容,它就具有其他的含义了

      例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最一个星期五 
      注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题

    展开全文
  • 之前有个需求,根据规则生成定时任务 public static long getNextTriggerTime(String cron){ if(!CronExpression.isValidExpression(cron)){ return 0; } CronTrigger trigger = TriggerBuilder.newTrigger()....

    之前有个需求,根据规则生成定时任务

    public static long getNextTriggerTime(String cron){
    if(!CronExpression.isValidExpression(cron)){
    return 0;
    }
    CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(“Caclulate Date”).withSchedule(CronScheduleBuilder.cronSchedule(cron)).build();
    Date time0 = trigger.getStartTime();
    Date time1 = trigger.getFireTimeAfter(time0);
    return time1.getTime();
    }

    展开全文
  • cron表达式配置规则

    千次阅读 2019-02-27 09:19:41
    cron表达式详解  Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:  (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year  (2)...
  • @Component public class SeckillTask { /** *定时任务 */ @Scheduled(cron="* * * * * ?") public void task(){ ...Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每...
  • .net C# Cron表达式解析.

    2018-07-04 16:01:09
    .net C# Cron表达式解析..可以解析Cron表达式,有例子也有实现,希望能帮助到需要的人,
  • 一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。 按顺序依次为 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天(星期)(1~7 1=SUN 或 SUN...
  • C# Cron表达式解析 .net

    2013-12-19 17:31:28
    可以解析Cron表达式,个人有用希望你也有用。一个是例子,一个是代码实现,需要根据自己实现需求修改。
  • @Scheduled(cron = "0 0,1 * * * ? *") // 每分钟-测试通过√ 0 0 0 ? * MON // 每周一-测试通过√ 0 0 0 1 * ? // 每月一日-测试通过√ 0 0 0 1 3,6,9,12 ? // 每季度-测试通过√ 0 0 0 1 1 ? // 每年一月一日-...
  • cron机制  cron可以让系统在指定的时间,去执行某个指定的工作,我们可以使用crontab指令来管理cron机制 crontab参数  -u:这个参数可以让我们去编辑其他人的crontab,如果没有加上这个参数的话就会开启自己的...
  • Cron表达式

    千次阅读 2018-03-27 10:37:51
    Quartz使用类似于Linux下的Cron表达式定义时间规则Cron表达式由6或7个由空格分隔的时间字段组成,如表1所示: Cron表达式的时间字段除允许设置数值外,还可使用一些特殊的字符,提供列表、范围、通配符等功能,...
  • c# 解析成Cron表达式方法

    千次阅读 2019-12-25 14:32:02
    using System; namespace ConsoleApp1 { public class CronHelper { /// <summary> /// 解析成Cron表达式 /// </summary> /// <param name="TaskType">任务类型 &...
  • vue表单验证cron表达式

    千次阅读 2019-12-03 14:16:30
    验证是否为正规的corn表达式, //统一写在form定义好的rules中;prop对应rules中的名称;... 定义验证规则方式多样,如有不详,可参考这篇:https://blog.csdn.net/weixin_43970743/article/details/102500272
  • cron表达式解析 + robfig/cron 源码剖析

    万次阅读 2016-04-07 11:39:06
    robfiig/cron 源码剖析 项目信息 下载地址 https://github.com/robfig/cron.git 文件目录讲解 constantdelay.go #一个最简单的秒级别定时系统。与cron无关 constantdelay_test.go #测试 cron.go #Cron系统。...
  • Cron表达式规则

    2019-02-20 15:32:11
    任务调度中的Cron表达式规则cron表达式由6~7个空格分隔的时间元素组成,其中第七个元素为可选元素 位置 字段含义 范围 允许的特殊字符 1 秒 0-59 * / 2 分钟 0-59 * / 3 小时 0-24 * / 4 月份中的...
  • Java:详解Cron表达式的使用

    千次阅读 2019-04-11 16:38:46
    Java:详解Cron表达式的使用    Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month ...
  • cron表达式详解

    2015-06-08 20:18:48
    Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:  Seconds Minutes Hours DayofMonth Month DayofWeek Year或  Seconds Minutes Hours ...
  • Quartz 用 cron 表达式存放执行计划。引用了 cron 表达式的 CronTrigger 在计划的时间里会与 job 关联上。 1、Quartz cron 表达式支持七个域如下: 名称 是否必须 允许值 特殊字符 秒 是 0-59 , - * / 分 ...
  • Cron表达式的生成规则-个人理解

    千次阅读 2018-07-19 16:55:01
    一、明确每个位置代表的含义: 从左至右,依次表示: ...二、生成规则: 2.1、从x时间开始,每隔y时间执行一次,则在对应的位置上写上:x/y; 例: 从0分钟开始,每5分钟执行一次,表达式为:0 0/5...
  • 一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。 按顺序依次为: 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天(星期)(1~7 1=SUN...
  • 1.用户设置/etc/cron.allow可以使用crontab命令的用户写在这个文件中/etc/cron.deny不允许使用crontab命令的用户写在这个文件中/etc/cron.allow 比/etc/cron.deny 的优先级高,一般只保留一个文件。用户使用cro...
  • cron表达式验证

    万次阅读 2014-09-25 16:58:03
    写完cron表达式后,要验证下正确性在提交到配置文件中,下面发个简单的测试验证代码(含quartz包的项目就可以执行),如下: 需要下载 quartz-all-1.6.0.jar package com.cron.test; import java.text.Parse...
  • 本篇博客主要是,分享cron触发器的编写功能,这也是我们在实际项目中开发使用最多的触发器,日历触发器
  • 基于cron表达式的任务调度器Scheduler

    千次阅读 2016-09-06 09:48:05
     * @param cronExpresstion Cron表达式  */  public static void executeCronSchedule(Class<?> jobClass, String methodName, String cronExpresstion) {  int _jobKey = jobKey++;  JobDetail job; ...
  • C#使用Quartz.NET中Cron表达式

    万次阅读 2017-08-24 15:31:19
    <cron-expression> 0 / 3 * * * * ?</cron-expression> </cron> log4net.config " 1.0 " encoding= " utf-8 " ?> " log4net " type= " log4...
  • cron表达式自动生成

    2017-02-10 09:40:52
    直接打开html文件选择时间,点击生成即可。可嵌入html,网页jsp等。
  • cron表达式规则,希望可以帮助大家学习和工作!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,684
精华内容 8,673
关键字:

cron规则