定时任务Quartz 之 cron表达式(时间表达式)
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表达式(时间表达式)相关推荐
- Quartz作业调度框架及时间表达式的含义和语法
Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中.它提供了巨大的灵活性而不牺牲简单性.你能够用它来为执行一个作业而创建简单的或复杂的调度.本 ...
- java cron表达式 每天凌晨两点_Quartz cron表达式(时间表达式)
Quartz cron表达式(时间表达式) 2017年03月28日 09:56:42 阅读数:3845 标签: quartz 更多 版权声明:本文为博主原创文章,未经博主允许不得转载. https:/ ...
- Quartz中时间表达式的设置-----corn表达式
Quartz中时间表达式的设置-----corn表达式 时间格式: <!-- s m h d m w(?) y(?) -->, 分别相应: 秒>分>小时>日>月 ...
- java 时间表达式_【JAVA】Quartz中时间表达式的设置
Quartz中时间表达式的设置-----corn表达式 时间格式: , 分别对应: 秒>分>小时>日>月>周>年, 举例: 1.每天什么时候执行: 0 59 2 ...
- Quartz的cron表达式写法详解
用过quartz才发现如此的好用,由其是使用cron来表达时间,简直不要太赞.不过他的cron表达式和crontab的cron表达式还是稍有不同的. 格式 * * * * * ? * 秒 分 时 ...
- Jenkins 定时任务触发时间表达式 -Poll SCM
H与*表示同样的意思 Jenkins 定时任务触发时间表达式 Jenkins采用了著名的UNIX任务调度工具CRON所使用的配置方式.用5个字段代表5个不同的时间单位(中间用空格隔开): 分 时 日 ...
- java时间的整的表达式_Quartz中时间表达式的设置-----corn表达式
Quartz中时间表达式的设置-----corn表达式 时间格式: , 分别对应: 秒>分>小时>日>月>周>年, 举例: 1.每天什么时候执行: 0 59 2 ...
- Cron(七子表达式)表达式
一.Cron表达式的格式: Quartzcron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别.区别之一就是 Quartz 的格式向下支持到秒级别的计划,而UNIX cro ...
- 论文浅尝 | 基于模式的时间表达式识别
本文转载自公众号:南大Websoft. 时间表达式识别是自然语言理解中一个重要而基础的任务.在以前的研究工作中,研究人员已经发现时间词的类型信息可以给识别提供明显的帮助.本文中我们以词类型序列作为表 ...
- 相对时间表达式 —— 解决相对时间序列化的问题
平时开发监控系统时免不了与时序数据库的查询打交道,在查时序数据库时 时间范围 是必不可少的条件,所以在查询的UI展示上通常会将时间范围作为一个独立的组件来让用户交互. 时间范围通常会展示为两种形式:相 ...
最新文章
- Python入门100题 | 第079题
- 连招 横版 flash 游戏_街机游戏中的无限连究竟有多变态?有种对决叫作没开始就结束了!...
- ETL异构数据源Datax_数据准备_03
- Bootstrap CSS 编码规范之Class 命名规范
- UITabBarController超强拓展
- Python 格式化字符串
- [ZJOI2005]午餐
- 给Bert加速吧!NLP中的知识蒸馏Distilled BiLSTM论文解读
- 囧。。。不知不觉破解了IDMan。。。木有注意最后一步咋破的。。。
- vasp软件全名是什么_VaspCZ软件详细介绍
- oracle卸载报错,oracle卸载
- word去除标题前的小黑点
- 第三次个人作业——关于K米(Andorid)的案例分析
- HTML制作简单课程表
- 酪氨酸激酶、自噬等抗肿瘤抑制剂
- OneDrive登录失败解决办法
- 【航线运输驾驶员理论考试】航空规章
- c语言1017错误什么意思,错误 C1017
- php 表单必选改为选填,织梦dedecms自定义表单选项必填修改解决方法
- linux启动jar后运行其他命令,Linux 部署jar 后台持续运行
热门文章
- 和菜鸟一起学android4.0.3源码之硬件gps简单移植【转】
- 计算机对口模拟试题,计算机专业对口升学模拟试题
- 七个基本量纲_超星尔雅三维建模与仿真答案题库
- 数据中心机房建设项目技术方案
- QQ2007密码盗取程序介绍(参考部分网上代码)
- 利用matlab使用窗函数,MATLAB中的窗函数
- 微信小程序获取用户头像昵称手机号最新版
- 【无机纳米材料科研制图——OriginLab 0207】Origin拉平XRD基线
- 另类终端「GitHub 热点速览 v.22.15」
- 微软更新Win10工具Media Creation Tool