`

Quartz的cron表达式

阅读更多

按顺序依次为
        秒(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点
        有些子表达式能包含一些范围或列表。 
        例如:子表达式(天(星期))可以为 “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”参数时,不要指定列表或范围,因为这会导致问题。

 

附:cronExpression配置说明

字段 允许值 允许的特殊字符
0-59 , - * /
0-59 , - * /
小时 0-23 , - * /
日期 1月31日 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选) 留空, 1970-2099 , - * /

表达式            意义
"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触发
特殊字符 意义
* 表示所有值;
? 表示未说明的值,即不关心它为何值;
- 表示一个指定的范围;
, 表示附加一个可能值;
/ 符号前表示开始时间,符号后表示每次递增的值;
        L("last") ("last") "L" 用在day-of-month字段意思是 "这个月最后一天";用在 day-of-week字段, 它简单意思是 "7" or "SAT"。 如果在day-of-week字段里和数字联合使用,它的意思就是 "这个月的最后一个星期几" – 例如: "6L" means "这个月的最后一个星期五". 当我们用“L”时,不指明一个列表值或者范围是很重要的,不然的话,我们会得到一些意想不到的结果。
        W("weekday") 只能用在day-of-month字段。用来描叙最接近指定天的工作日(周一到周五)。例如:在day-of-month字段用“15W”指“最接近这个 月第15天的工作日”,即如果这个月第15天是周六,那么触发器将会在这个月第14天即周五触发;如果这个月第15天是周日,那么触发器将会在这个月第 16天即周一触发;如果这个月第15天是周二,那么就在触发器这天触发。注意一点:这个用法只会在当前月计算值,不会越过当前月。“W”字符仅能在 day-of-month指明一天,不能是一个范围或列表。也可以用“LW”来指定这个月的最后一个工作日。
        # 只能用在day-of-week字段。用来指定这个月的第几个周几。例:在day-of-week字段用"6#3"指这个月第3个周五(6指周五,3指第3个)。如果指定的日期不存在,触发器就不会触发。
        C 指和calendar联系后计算过的值。例:在day-of-month 字段用“5C”指在这个月第5天或之后包括calendar的第一天;在day-of-week字段用“1C”指在这周日或之后包括calendar的第一天。

分享到:
评论

相关推荐

    Quartz Cron表达式生成器(.NET) 附上源码

    在.NET环境中,Quartz.NET提供了强大的功能,其中包括使用Cron表达式来定义任务的执行时间。Cron表达式是一种字符串格式,用于定义计划任务的执行周期,它的语法相对复杂,对于不熟悉的人来说可能会感到困扰。 ...

    超好用quartz cron表达式html,可直接嵌入项目工程

    Cron表达式是Quartz中的一种时间表达方式,它源自Unix的cron系统,用来定义定时任务的执行周期。本资源提供了一个超好用的Quartz Cron表达式HTML工具,可以帮助开发者更加便捷地创建和理解Cron表达式。 Cron表达式...

    对Quartz Cron 表达式的可视化双向解析和生成

    cmd中运行 ”javar -jar 文件名 “ ,生成可视化窗口,方便 生成和解析Cron;从此怕忘记,再也不求人。

    quartz cron表达式 Bootstrap实现

    Cron表达式是Quartz中用于配置定时任务的一种强大工具,源自Unix的cron系统,可以按照特定的时间间隔或者时间模式执行任务。在这个项目中,我们将讨论如何结合jQuery和Bootstrap来实现一个用户友好的界面,以便于...

    Quartz Cron 表达式生成,Cron在线编辑器

    Quartz Cron表达式是Java定时任务库Quartz的重要组成部分,用于定义定时任务的执行规则。Cron表达式是一种字符串格式,由七个子表达式组成,分别代表秒、分、小时、日、月、周和年,允许指定一个精确的时间调度。...

    Quartz Cron表达式

    ### Quartz Cron表达式详解 #### 一、CronTrigger与SimpleTrigger对比 在Quartz调度器中,`CronTrigger`是一种非常强大的触发机制,它能够根据复杂的日历规则来调度任务,相比于`SimpleTrigger`而言更为灵活。如果...

    quartz cron表达式实例及源码

    在Quartz中,Cron表达式是一种强大的工具,用于定义作业的触发时间。本文将深入探讨Quartz Cron表达式的实例及其源码解析。 一、Cron表达式基础 Cron表达式是由7个子表达式组成的字符串,每个子表达式代表一个时间...

    Quartz Cron表达式生成器

    Quartz Cron表达式生成器是一个基于JavaScript的工具,主要用于帮助前端开发者轻松地创建和理解复杂的Cron表达式。Cron表达式是Unix时间调度的一种格式,广泛应用于各种任务调度系统,包括Java的Quartz框架。它允许...

    quartz的cron表达式生成工具

    Cron表达式是Quartz中一个重要的概念,用于定义这些定时任务的执行计划。Cron表达式源自Unix系统的crontab命令,用于配置定时任务,而在Quartz中,它被用来更加灵活地设定作业的触发时间。 标题提到的"quartz的cron...

    Quartz_cron表达式

    Quartz支持多种触发器类型,其中最为灵活且功能强大的是CronTrigger,它允许用户通过Cron表达式来精确地定义作业的执行时间。 #### 二、Cron表达式格式与构成 Cron表达式是由6个(有时7个)由空格分隔的时间字段...

    初学之家(G2roon)Quartz Cron表达式生成器

    初学之家(http://www.g2room.com)Cron表达式在线生成器,可方便快捷的生成quartz的cron表达式,及对cron表达式进行解析,提供把Quartz的cron表达式解析执行,展示前10次执行时间。

    Quartz Cron表达式生成器(汉化版)

    Quartz定时器在使用时,需要Cron表达式,但是人为去写需要对表达式的规则足够了解,但有了该表达式生成器只需要选择对应的“执行”时间就可以快速生成符合你要求的表达式啦。

    Cron表达式解析 翻译为中英文.zip

    Cron表达式是Unix/Linux系统中的定时任务调度器Cron所使用的语法,也被广泛应用于Java世界,例如Quartz、Spring等框架。它允许用户以字符串的形式定义任务的执行时间,如分钟、小时、日期等。这个压缩包文件包含了对...

    .NET-Quartz-Cron-Parser:Quartz Cron 表达式转换为中文自然语言的查询工具, 使用C#作为语言开发

    .NET-Quartz-Cron-Parser 是一个专门为 .NET 平台设计的工具,它能够将 Quartz Cron 表达式转化为中文自然语言,使得对于复杂的定时任务调度更容易理解和管理。Quartz 是一个开源的作业调度框架,广泛应用于Java和...

    Java 写的Cron表达式解析

    Java中的Cron表达式解析通常是通过Spring框架的`org.springframework.scheduling.support.CronSequenceGenerator`类或者第三方库如Quartz的`org.quartz.CronExpression`来实现。 首先,让我们理解Cron表达式的格式...

    WinForm Cron表达式生成器

    Quartz.Net Cron表达式生成器winform版  最近使用Quartz.net做了几个同步任务,感觉非常好。表达式设置也是非常灵活,但是新入手发现对表达式不熟,每次都要使用在线生成器。  于是写了一个winform版本的生成器...

    Cron表达式生成器java版(需要jdk1.8)

    cron表达式是Unix/Linux系统中用于定时任务调度的一种机制,而在Java中,通过Quartz、Spring框架等库,也可以使用cron表达式来实现定时任务。本项目提供的"Cron表达式生成器java版"是一个基于Java 1.8的工具,能够...

    .net C# Cron表达式解析.

    Quartz.NET是一个功能丰富的作业调度框架,支持Cron表达式,而NCrontab则是一个轻量级的库,专为Cron表达式解析设计。 1. **Quartz.NET使用**: - 首先,你需要在项目中引入Quartz.NET库。 - 创建一个CronTrigger...

Global site tag (gtag.js) - Google Analytics