Cron表达式简介

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

  (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year

  (2)Seconds Minutes Hours DayofMonth Month DayofWeek

结构

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

  例  "0 0 12 ? * WED" 在每星期三下午12:00 执行(年份通常 省略)

各字段的含义

通配符说明

星号(*):可用在所有字段中,表示对应时间域的每一个时刻,例如, 在分钟字段时,表示“每分钟”;

问号(?):该字符只在日期和星期字段中使用,它通常指定为“无意义的值”,相当于点位符;

减号(-):表达一个范围,如在小时字段中使用“10-12”,则表示从10到12点,即10,11,12;

逗号(,):表达一个列表值,如在星期字段中使用“MON,WED,FRI”,则表示星期一,星期三和星期五;

斜杠(/):x/y表达一个等步长序列,x为起始值,y为增量步长值。如在分钟字段中使用0/15,则表示为0,15,30和45秒,而5/15在分钟字段中表示5,20,35,50,你也可以使用*/y,它等同于0/y;

L:该字符只在日期和星期字段中使用,代表“Last”的意思,但它在两个字段中意思不同。L在日期字段中,表示这个月份的最后一天,如一月的31号,非闰年二月的28号;如果L用在星期中,则表示星期六,等同于7。但是,如果L出现在星期字段里,而且在前面有一个数值X,则表示“这个月的最后X天”,例如,6L表示该月的最后星期五;

W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日。例如15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15日是星期日,则匹配16号星期一;如果15号是星期二,那结果就是15号星期二。但必须注意关联的匹配日期不能够跨月,如你指定1W,如果1号是星期六,结果匹配的是3号星期一,而非上个月最后的那天。W字符串只能指定单一日期,而不能指定日期范围;

LW组合:在日期字段可以组合使用LW,它的意思是当月的最后一个工作日;

井号(#):该字符只能在星期字段中使用,表示当月某个工作日。如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个),而4#5表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发;

C:该字符只在日期和星期字段中使用,代表“Calendar”的意思。它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如5C在日期字段中就相当于日历5日以后的第一天。1C在星期字段中相当于星期日后的第一天。

Cron表达式对特殊字符的大小写不敏感,对代表星期的缩写英文大小写也不敏感。

一些例子:

表示式 说明
0 0 12 * * ? 每天12点运行
0 15 10 ? * * 每天10:15运行
0 15 10 * * ? 每天10:15运行
0 15 10 * * ? * 每天10:15运行
0 15 10 * * ? 2008 在2008年的每天10:15运行
0 * 14 * * ? 每天14点到15点之间每分钟运行一次,开始于14:00,结束于14:59。
0 0/5 14 * * ? 每天14点到15点每5分钟运行一次,开始于14:00,结束于14:55。
0 0/5 14,18 * * ? 每天14点到15点每5分钟运行一次,此外每天18点到19点每5钟也运行一次。
0 0-5 14 * * ? 每天14:00点到14:05,每分钟运行一次。
0 10,44 14 ? 3 WED 3月每周三的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分运行。
0 15 10 ? * 6L 2007-2009 在2007,2008,2009年每个月的最后一个星期五的10:15分运行。
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”参数时,不要指定列表或范围,因为这会导致问题

表达式生成器

有很多的cron表达式在线生成器,这里给大家推荐几款

http://www.pdtools.net/tools/becron.jsp

或者

http://cron.qqe2.com/

定时任务Quartz 之 cron表达式(时间表达式)相关推荐

  1. Quartz作业调度框架及时间表达式的含义和语法

    Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中.它提供了巨大的灵活性而不牺牲简单性.你能够用它来为执行一个作业而创建简单的或复杂的调度.本 ...

  2. java cron表达式 每天凌晨两点_Quartz cron表达式(时间表达式)

    Quartz cron表达式(时间表达式) 2017年03月28日 09:56:42 阅读数:3845 标签: quartz 更多 版权声明:本文为博主原创文章,未经博主允许不得转载. https:/ ...

  3. Quartz中时间表达式的设置-----corn表达式

    Quartz中时间表达式的设置-----corn表达式 时间格式: <!-- s m h d m w(?) y(?) -->,   分别相应: 秒>分>小时>日>月 ...

  4. java 时间表达式_【JAVA】Quartz中时间表达式的设置

    Quartz中时间表达式的设置-----corn表达式 时间格式: ,   分别对应: 秒>分>小时>日>月>周>年, 举例: 1.每天什么时候执行: 0 59 2 ...

  5. Quartz的cron表达式写法详解

       用过quartz才发现如此的好用,由其是使用cron来表达时间,简直不要太赞.不过他的cron表达式和crontab的cron表达式还是稍有不同的. 格式 * * * * * ? * 秒 分 时 ...

  6. Jenkins 定时任务触发时间表达式 -Poll SCM

    H与*表示同样的意思 Jenkins 定时任务触发时间表达式  Jenkins采用了著名的UNIX任务调度工具CRON所使用的配置方式.用5个字段代表5个不同的时间单位(中间用空格隔开): 分 时 日 ...

  7. java时间的整的表达式_Quartz中时间表达式的设置-----corn表达式

    Quartz中时间表达式的设置-----corn表达式 时间格式: ,   分别对应: 秒>分>小时>日>月>周>年, 举例: 1.每天什么时候执行: 0 59 2 ...

  8. Cron(七子表达式)表达式

    一.Cron表达式的格式: Quartzcron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别.区别之一就是 Quartz 的格式向下支持到秒级别的计划,而UNIX cro ...

  9. 论文浅尝 | 基于模式的时间表达式识别

    本文转载自公众号:南大Websoft.  时间表达式识别是自然语言理解中一个重要而基础的任务.在以前的研究工作中,研究人员已经发现时间词的类型信息可以给识别提供明显的帮助.本文中我们以词类型序列作为表 ...

  10. 相对时间表达式 —— 解决相对时间序列化的问题

    平时开发监控系统时免不了与时序数据库的查询打交道,在查时序数据库时 时间范围 是必不可少的条件,所以在查询的UI展示上通常会将时间范围作为一个独立的组件来让用户交互. 时间范围通常会展示为两种形式:相 ...

最新文章

  1. Python入门100题 | 第079题
  2. 连招 横版 flash 游戏_街机游戏中的无限连究竟有多变态?有种对决叫作没开始就结束了!...
  3. ETL异构数据源Datax_数据准备_03
  4. Bootstrap CSS 编码规范之Class 命名规范
  5. UITabBarController超强拓展
  6. Python 格式化字符串
  7. [ZJOI2005]午餐
  8. 给Bert加速吧!NLP中的知识蒸馏Distilled BiLSTM论文解读
  9. 囧。。。不知不觉破解了IDMan。。。木有注意最后一步咋破的。。。
  10. vasp软件全名是什么_VaspCZ软件详细介绍
  11. oracle卸载报错,oracle卸载
  12. word去除标题前的小黑点
  13. 第三次个人作业——关于K米(Andorid)的案例分析
  14. HTML制作简单课程表
  15. 酪氨酸激酶、自噬等抗肿瘤抑制剂
  16. OneDrive登录失败解决办法
  17. 【航线运输驾驶员理论考试】航空规章
  18. c语言1017错误什么意思,错误 C1017
  19. php 表单必选改为选填,织梦dedecms自定义表单选项必填修改解决方法
  20. linux启动jar后运行其他命令,Linux 部署jar 后台持续运行

热门文章

  1. 和菜鸟一起学android4.0.3源码之硬件gps简单移植【转】
  2. 计算机对口模拟试题,计算机专业对口升学模拟试题
  3. 七个基本量纲_超星尔雅三维建模与仿真答案题库
  4. 数据中心机房建设项目技术方案
  5. QQ2007密码盗取程序介绍(参考部分网上代码)
  6. 利用matlab使用窗函数,MATLAB中的窗函数
  7. 微信小程序获取用户头像昵称手机号最新版
  8. 【无机纳米材料科研制图——OriginLab 0207】Origin拉平XRD基线
  9. 另类终端「GitHub 热点速览 v.22.15」
  10. 微软更新Win10工具Media Creation Tool