一个Cron-
表达式是一个由六至七个字段组成由空格分隔的字符串,其中
6
个字段是必须的而一个是可选的,如下:
字段名 允许的值 允许的特殊字符
秒 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"
的值。 因此 对于
“
月
”
字段来说
"7/6"
只是表示
7
月被开启而不是
“
每六个月
”,
请注意其中微妙的差别。
''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
触发
"0 15 10 ? * 6L"
每月最后一个周五的
10
:
15
触发
"0 15 10 ? * 6L 2002-2005"
2002年至
2005
年的每月最后一个周五的
10
:
15
触发
"0 15 10 ? * 6#3"
每月的第三个周五的
10
:
15
触发
分享到:
相关推荐
Quartz 的Cron时间设置
cmd中运行 ”javar -jar 文件名 “ ,生成可视化窗口,方便 生成和解析Cron;从此怕忘记,再也不求人。
Quartz Cron表达式
Quartz Cron页面生成工具,整理好的。 在开发中,常常有一些任务,需要隔一段时间自动执行。 Cron能够满足。
quartz cron js生成器,可以直接嵌入html代码使用 喜欢点赞
Quartz定时器在使用时,需要Cron表达式,但是人为去写需要对表达式的规则足够了解,但有了该表达式生成器只需要选择对应的“执行”时间就可以快速生成符合你要求的表达式啦。 vs2012编写的
Quartz Cron表达式生成器这个是一个用于前端生成Cron表达式的一个js
超好用quartz cron表达式html,可直接嵌入项目工程。不用自己再去冥思苦想怎么拼装表达式了。
quartz的cron表达式生成工具,quartz的cron表达式生成工具,解压后运行jar包即可
Quartz Cron 表达式生成工具,可以在线编辑,反解析等,html实现,方便引用到各种语言框架的web项目当中,解压即用
quartz cron表达式 使用jquery,Bootstrap实现,可集成到自己的项目中,
quartz定时任务的cron表达式配置的详细说明,以及一些具体示例。
Quartz Cron 规则辅助生成工具.zip 可以直接根据ui操作生成cron表达式
quartz通过cron实现web项目定时器;这是个maven项目,通过quartz架构是现在不同cron表达式定时启动。
quartz cron表达式 实例及源码
quartz的作业调度触发Cron表达式说明
初学之家(http://www.g2room.com)Cron表达式在线生成器,可方便快捷的生成quartz的cron表达式,及对cron表达式进行解析,提供把Quartz的cron表达式解析执行,展示前10次执行时间。
运行index.htm输入定时任务执行的时间、周期、执行次数、日期等,会自动计算出 quartz执行任务所需表达式
该资源含有Quartz开发包和cron生成器,可以很方便的生成自己需要的调度,并进行使用。Quartz是Job Scheduling(任务调度)领域的开源项目,可单独使用,也可和JavaSE,EE进行组合,是一个任务调度管理系统,可在特定的...