精华内容
下载资源
问答
  • 定时器表达式解析

    2016-11-08 20:46:00
    一个cronExpression表达式有至少6个(也可能是7个)由空格分隔的时间元素。从左至右,这些元素的定义如下: 1.秒(0–59) 2.分钟(0–59) 3.小时(0–23) 4.月份中的日期(1–31) 5.月份(1–12或JAN...

    单纯针对时间的设置规则
    org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时间,只需要设置其cronExpression属性。
    一个cronExpression表达式有至少6个(也可能是7个)由空格分隔的时间元素。从左至右,这些元素的定义如下:
    1.秒(0–59)
    2.分钟(0–59)
    3.小时(0–23)
    4.月份中的日期(1–31)
    5.月份(1–12或JAN–DEC)
    6.星期中的日期(1–7或SUN–SAT)
    7.年份(1970–2099)
    0 0 10,14,16 * * ?
    每天上午10点,下午2点和下午4点
    0 0,15,30,45 * 1-10 * ?
    每月前10天每隔15分钟
    30 0 0 1 1 ? 2012
    在2012年1月1日午夜过30秒时
    0 0 8-5 ? * MON-FRI
    每个工作日的工作时间
    各个时间可用值如下:
    秒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 , - * /
    可用值详细分析如下:
    “*”——字符可以用于所有字段,在“分”字段中设为"*"表示"每一分钟"的含义。
    “?”——字符可以用在“日”和“周几”字段.它用来指定'不明确的值'.这在你需要指定这两个字段中的某一个值而不是另外一个的时候会被用到。在后面的例子中可以看到其含义。
    “-”——字符被用来指定一个值的范围,比如在“小时”字段中设为"10-12"表示"10点到12点"。
    “,”——字符指定数个值。比如在“周几”字段中设为"MON,WED,FRI"表示"the days Monday, Wednesday, and Friday"。
    “/”——字符用来指定一个值的的增加幅度.比如在“秒”字段中设置为"0/15"表示"第0, 15, 30,和45秒"。而"5/15"则表示"第5, 20, 35,和50".在'/'前加"*"字符相当于指定从0秒开始.每个字段都有一系列可以开始或结束的数值。对于“秒”和“分”字段来说,其数值范围为0到59,对于“小时”字段来说其为0到23,对于“日”字段来说为0到31,而对于“月”字段来说为1到12。"/"字段仅仅只是帮助你在允许的数值范围内从开始"第n"的值。
    “L”——字符可用在“日”和“周几”这两个字段。它是"last"的缩写,但是在这两个字段中有不同的含义。例如,“日”字段中的"L"表示"一个月中的最后一天" ——对于一月就是31号对于二月来说就是28号(非闰年)。而在“周几”字段中,它简单的表示"7" or "SAT",但是如果在“周几”字段中使用时跟在某个数字之后,它表示"该月最后一个星期×" ——比如"6L"表示"该月最后一个周五"。当使用'L'选项时,指定确定的列表或者范围非常重要,否则你会被结果搞糊涂的。
    “W”——可用于“日”字段。用来指定历给定日期最近的工作日(周一到周五)。比如你将“日”字段设为"15W",意为: "离该月15号最近的工作日"。因此如果15号为周六,触发器会在14号即周五调用。如果15号为周日,触发器会在16号也就是周一触发。如果15号为周二,那么当天就会触发。然而如果你将“日”字段设为"1W",而一号又是周六,触发器会于下周一也就是当月的3号触发,因为它不会越过当月的值的范围边界。'W'字符只能用于“日”字段的值为单独的一天而不是一系列值的时候。
    “L”和“W”可以组合用于“日”字段表示为'LW',意为"该月最后一个工作日"。
    “#”——字符可用于“周几”字段。该字符表示“该月第几个周×”,比如"6#3"表示该月第三个周五( 6表示周五而"#3"该月第三个)。再比如: "2#1" =表示该月第一个周一而"4#5" =该月第五个周三。注意如果你指定"#5"该月没有第五个“周×”,该月是不会触发的。
    “C”——字符可用于“日”和“周几”字段,它是"calendar"的缩写。它表示为基于相关的日历所计算出的值(如果有的话)。如果没有关联的日历,那它等同于包含全部日历。“日”字段值为"5C"表示"日历中的第一天或者5号以后",“周几”字段值为"1C"则表示"日历中的第一天或者周日以后"。
    对于“月份”字段和“周几”字段来说合法的字符都不是大小写敏感的。
    一些例子:
    "0 0 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分每分钟一次触发
    "0 0/5 14 * * ?"每天从下午2点开始到2:55分结束每5分钟一次触发
    "0 0/5 14,18 * * ?"每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
    "0 0-5 14 * * ?"每天14:00至14:05每分钟一次触发
    "0 10,44 14 ? 3 WED"三月的每周三的14:10和14: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

    ?

    转载于:https://my.oschina.net/u/2353881/blog/784145

    展开全文
  • 定时器Cron 表达式解析工具

    千次阅读 2016-11-10 17:40:36
  • quartz定时器表达式详解

    千次阅读 2019-06-03 15:00:41
    三、常用表达式例子  (1) 0 0 2 1 * ? *  表示在每月的1日的凌晨2点调整任务  (2) 0 15 10 ? * MON-FRI   表示周一到周五每天上午10:15执行作业  (3) 0 15 10 ? 6L 2002-2006  表示2002-2006...

            一、结构

      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)#:用于确定每个月第几个星期几,只能出现在DayofMonth域。例如在4#2,表示某月的第二个星期三。

    三、常用表达式例子

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

    展开全文
  • 因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天    “/”:字符用来指定数值的增量  例如:在子表达式(分钟)里的“ 0 / 15 ”表示从第 0 分钟开始,...
    1. 字段 允许值 允许的特殊字符     
    2. 秒 0-59 , - * /     
    3. 分 0-59 , - * /     
    4. 小时 0-23 , - * /     
    5. 日期 1-31 , - * ? / L W C     
    6. 月份 1-12 或者 JAN-DEC , - * /     
    7. 星期 1-7 或者 SUN-SAT , - * ? / L C #     
    8. 年(可选) 留空, 1970-2099 , - * /     
    9. 表达式意义     
    10. "0 0 12 * * ?" 每天中午12点触发     
    11. "0 15 10 ? * *" 每天上午10:15触发     
    12. "0 15 10 * * ?" 每天上午10:15触发     
    13. "0 15 10 * * ? *" 每天上午10:15触发     
    14. "0 15 10 * * ? 2005" 2005年的每天上午10:15触发     
    15. "0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发     
    16. "0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发     
    17. "0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发     
    18. "0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发     
    19. "0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:102:44触发     
    20. "0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发     
    21. "0 15 10 15 * ?" 每月15日上午10:15触发     
    22. "0 15 10 L * ?" 每月最后一日的上午10:15触发     
    23. "0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发     
    24. "0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发     
    25. "0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发     
    26. 每天早上6点     
    27. 0 6 * * *     
    28. 每两个小时     
    29. 0 */2 * * *     
    30. 晚上11点到早上8点之间每两个小时,早上八点     
    31. 0 23-7/28 * * *     
    32. 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点     
    33. 0 11 4 * 1-3     
    34. 11日早上4点     
    35. 0 4 1 1 *     
    36.   
    37. 有些子表达式能包含一些范围或列表    
    38. 例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”    
    39.   
    40. “*”:字符代表所有可能的值    
    41. 因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天    
    42.   
    43. “/”:字符用来指定数值的增量    
    44. 例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟 ;   
    45. 在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“32343”)的含义一样    
    46.   
    47. “?”:字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值    
    48. 2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”    
    49.   
    50.   
    51. “L”: 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写    
    52.   
    53. 但是它在两个子表达式里的含义是不同的。    
    54.   
    55. 在天(月)子表达式中,“L”表示一个月的最后一天 ,   
    56. 在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT    
    57.   
    58. 如果在“L”前有具体的内容,它就具有其他的含义了    
    59.   
    60. 例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最后一个星期五    
    61.   
    62. 注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题   
    展开全文
  • quartz 定时器cron表达式解析

    千次阅读 2015-12-25 09:44:31
    cron表达式
  • Cron表达式解析

    千次阅读 2017-04-13 13:43:11
    Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year 或: Seconds Minutes Hours ...
  • Spring定时器corn表达式详解

    万次阅读 2017-05-04 16:04:24
    Spring定时器corn表达式详解 2.各字段的含义   字段 允许值 允许的特殊字符 秒 0~59 - * / 分 0~59 - * / 小时 0~23 - * / 日期 1~31 - * ? / L W C  月份 1~12或者...
  • Cron表达式被用来配置CronTrigger实例。Cron表达式是一个由 7 个子表达式组成的字 符串。每个子表达式都描述了一个单独的日程细节。这些子表达式用空格分隔,分别表示: 1. Seconds 秒 2. Minutes 分钟 3. ...
  • 在线Cron表达式解析工具使用说明

    千次阅读 2017-04-10 22:21:31
    在日常Java开发中,常常会用到quartz定时器,而定时器的Cron表达式比较难以理解,尤其是复杂的表达式,较难分析出是否周期频率正确。这里,云码网推出Cron在线解析工具,方便大家在线生成Cron以及解析表达式的执行...
  • 每隔5秒执行一次:*/5 * * * * ?  每隔1分钟执行一次:0 */1 * * * ?  每天21点执行一次:0 0 21 * * ?  每天凌晨1点执行一次:0 0 1 * * ?  每月1号凌晨1点执行一次:0 0 1 1 * ?  每月最后一天23点执行一次:...
  • JS定时器实例解析

    2013-10-11 12:55:00
    在javascritp中,有两个关于定时器的专用函数。 分别为:1.倒计定时器:timename=setTimeout("function();",delaytime);2.循环定时器:timename=setInterval("function();",delaytime);第一个参数“function()”...
  • js解析cron表达式

    2020-12-01 20:00:04
    资源为js文件,下载后直接用script标签引入,需要解析时调用该js第一个方法,参数为cron定时器表达式字符串,例如:translateCRONToChinese("0 0 12 */1 * ?");
  • cron表达式解析 + robfig/cron 源码剖析

    万次阅读 2016-04-07 11:39:06
    cron表达式解析 cron 的BNF表达式以及引出的解析方式 首先,让我试着使用EBNF来定义下cron 表达式(不是很严谨。。。) <non_zero> ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8...
  • vue-cron插件的使用及将cron解析成中文vue-cron插件的使用第一步:安装依赖第二步:引用第三步:在vue页面的用法效果去掉秒和年插入链接与图片定时任务cron解析成中文简易的工具类该插件存在的一个缺陷 vue-cron插件...
  • 1. Spel表达式解析 1 2. Srping mvc 1 3. Ioc 4 3.1. ApplicationContext在BeanFactory的基础上构建,区别 4 4. Aop 5 4.1. 3.2.4.1. @AspectJ形式的SpringAOP 5 4.2. spring的事务处理 5 5. Other不重还要的 ...
  • Cron表达式一般是程序的定时任务中所要起的..我们用的springboot中的@Schedule中,启动类中添加enable的注解 这样在使用的时候,可以直接在方法上添加Schedule注解,这样,该方法就会在指定的cron表达式中表示的时间...
  • @Scheduled中fixedDelay、fixedRate、initialDelay 和cron表达式解析及区别 原文链接:https://blog.csdn.net/qq_34129814/article/details/85090162 一、 在线Cron表达式生成器 http://cron.qqe2.com/ 二、...
  • Quartz Cron表达式主要用于JAVA Spring定时任务中,用法如下: # 每月的最后1天 @Scheduled(cron = "0 0 18 28–31 * ?") public void doAtLastDayOfMonth() { final Calendar calendar = Calend...
  • 1Cron表达式详解 1.1 Cron表达式结构 1.2 各字段的含义 1.3 Cron例子: 1Cron表达式详解 Cron 表达式是一个字符串,分为 6 或 7 个域,每一个域代表一个含义 Cron 有如下两种语法格式: Seconds Minutes Hours ...
  • 例:(实现定时器不断的跳动,再清除定时器,跳转到百度)  还有<span id="timer">5s我就去百度啦    var oTime = document.getElementById("timer");  var num = 5;  var time;  time = ...
  • 注解参数区别 @Scheduled注解可以控制方法定时执行,其中有三个参数可选择: 1、fixedDelay控制方法执行的间隔时间,是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,...3、cron表达式可以定制化执行任务,
  • spring实战代码之解析CRON表达式

    千次阅读 2020-04-09 19:46:56
    如果我们要用spring的定时器功能,那么一般会用CRON表达式,事实上,每个框架实现的CRON解析还不同,所以需要用相应的解析规则: import org.springframework.scheduling.support.CronSequenceGenerator; try { ...
  • Java 动态定时器

    2017-08-30 18:31:59
    本Java 动态定时器基于Java的定时器线程池,阻塞队列实现,定时调度时间采用cron表达式配置的方式,其中cron表达式解析工具类提取自spring。 用法极其简单,只需要将ScheduleUtils工具类复制到项目里,然后调用...
  • 求帮写一个Cron表达式,表示从当前时间开始(就是系统启动的时候执行一次),之后每隔110分钟(或者一小时50分钟)执行一次!
  • 这个定时器就是在上一个的基础上加了一个initialDelay = 10000 意思就是在容器启动后,延迟10秒后再执行一次定时器,以后每15秒再执行一次该定时器。 4、cron表达式可以定制化执行任务,但是执行的方式是与...
  • 定时器

    2018-09-28 20:21:00
    JS中的定时器分为两种: 1、setTimeout() 2 、setInterval 1、setTimeout() 只在指定时间后执行一次 定时器 异步运行 function hello (){ alert(''hello''); } 使用方法名字执行方法 var t1 = window....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,430
精华内容 4,172
关键字:

定时器表达式解析