摘自:http://biaoming.iteye.com/blog/39532
Quartz的cron表达式
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
按顺序依次为
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
7.年份(1970-2099)
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?.
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点
"0 0 12 * * ?" 每天中午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期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2: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 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发
有些子表达式能包含一些范围或列表
例如:子表达式(天(星期))可以为 “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”参数时,不要指定列表或范围,因为这会导致问题
字段 允许值 允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选) 留空, 1970-2099 , - * /
分享到:
相关推荐
标题中的“Spring Quartz 表达式在线...总的来说,了解和使用Spring Quartz表达式在线生成器,不仅可以提升开发效率,还能帮助理解定时任务调度的底层机制,对于任何需要处理周期性任务的Java开发者来说都是一大助力。
Java中的Cron表达式解析通常是通过Spring框架的`org.springframework.scheduling.support.CronSequenceGenerator`类或者第三方库如Quartz的`org.quartz.CronExpression`来实现。 首先,让我们理解Cron表达式的格式...
cmd中运行 ”javar -jar 文件名 “ ,生成可视化窗口,方便 生成和解析Cron;从此怕忘记,再也不求人。
这些库可能提供了将Cron表达式解析为JavaScript Date对象的方法,从而在客户端实现定时任务。例如,`js Quartz`库可能会提供API来解析和验证Cron表达式,并根据表达式创建定时器。 **"使用说明.txt"可能包含的内容*...
cronexpbuilder3.0.jar ...Quartz 的Cron任务调度表达式一般人很难理解,在Googole上查询也没有发现类似的代码,所以发了一个对Quartz Cron 表达式的可视化双向解析和生成的一个java的GUI程序,供使用Quartz的程序员使用。
在Quartz中,表达式用于定义任务执行的时间规律,通常采用Cron表达式的形式。这种表达式由7个字段组成,分别对应秒、分、小时、日、月、周几和年份(可选),每个字段都可以包含特定的值、范围、列表或特殊字符。 1...
在压缩包文件"quartz表达式"中,可能包含以下内容: 1. 源代码:生成器的实现代码,可能使用Java或其他语言编写,展示了如何解析用户输入并转换为Cron表达式。 2. 示例:各种Cron表达式的示例,帮助用户理解每种...
Quartz.NET是一个功能丰富的作业调度框架,支持Cron表达式,而NCrontab则是一个轻量级的库,专为Cron表达式解析设计。 1. **Quartz.NET使用**: - 首先,你需要在项目中引入Quartz.NET库。 - 创建一个CronTrigger...
同时,插件可能还具备了对表达式的有效性验证,确保生成的表达式能够在Quartz中正确解析和执行。 4. 复制和导出:用户可以方便地复制生成的表达式,或者将配置保存为文件,以便在其他地方使用。 5. 帮助文档:可能...
标题提到的“quartz表达式生成工具”是为了帮助开发者更方便地创建和管理Quartz作业(jobs)的执行时间,即cron表达式。在Java应用中,通过cron表达式,我们可以精确地设置任务在何时运行,比如每天的特定时间或者每...
【标题】:Cron表达式解析 - 中英文对照 Cron表达式是Unix/Linux系统中的定时任务调度器Cron所使用的语法,也被广泛应用于Java世界,例如Quartz、Spring等框架。它允许用户以字符串的形式定义任务的执行时间,如...
C# Cron表达式解析在.NET开发中是一种常见且重要的任务,尤其在自动化任务调度和计划程序的场景下。Cron表达式源于Unix操作系统,用于定义周期性任务的执行时间。在C#中,通过理解并解析Cron表达式,开发者可以创建...
初学之家(http://www.g2room.com)Cron表达式在线生成器,可方便快捷的生成quartz的cron表达式,及对cron表达式进行解析,提供把Quartz的cron表达式解析执行,展示前10次执行时间。
1、Cron表达式解析(比如Quartz的Cron表达式),计算下一次触发时间; 2、经常使用的时间相关的操作工具类,比如时间格式化,字符串、Date、localDate、LocalDateTime类型间的转换等
Quartz 的Cron任务调度表达式一般人很难理解,在Googole上查询也没有发现类似的代码,所以开发了一个对Quartz Cron 表达式的可视化双向解析和生成的一个java的GUI程序,供使用Quartz的程序员参考和使用。
它可以帮助用户以图形化界面或输入框形式设置各个字段,然后自动生成对应的Cron表达式,同时也可以解析已有的Cron表达式并展示其含义。 6. **quartz-monitor-master**: 这可能是Quartz的一个监控工具的源码仓库。...
在Quartz中,我们可以使用`CronExpression`类的静态方法`parse(String cronExpression)`来解析一个Cron表达式,得到一个`CronExpression`实例。这个实例提供了丰富的API,如`next火prevFireTime(Date date)`,可以...
总的来说,Quartz表达式工具是管理定时任务的强大助手,CronExpBuilder则进一步降低了使用Cron表达式的复杂性,提高了开发效率。通过深入理解Cron表达式和熟练使用CronExpBuilder,开发者能够更加自如地控制和调整...
总结来说,`CronExpParserUtil`是针对cron表达式解析的实用工具,它将难以理解的cron表达式转化为中文描述,方便团队成员快速掌握定时任务的执行计划,进一步提升了工作效率。在实际开发中,类似的辅助工具对于提升...