`

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的第一天

分享到:
评论

相关推荐

    Cron表达式插件

    Cron表达式是一种在计算机程序中广泛使用的定时任务调度工具,尤其在服务器管理和自动化运维领域。这个“Cron表达式插件”很可能是一个方便开发者或系统管理员创建、管理和理解Cron表达式的工具,旨在简化与Cron相关...

    Cron生成表达式html源码

    4. 预览功能:显示Cron表达式所对应的下次执行时间,以及周期性的执行时间序列,帮助用户验证表达式的正确性。 5. 编辑器:可能包含上下文敏感的帮助提示和示例,帮助用户理解Cron表达式的语法和各个字段的意义。 ...

    js cron 表达式生成器

    `cron`表达式源于Unix系统,用于定义周期性任务的调度,而在JavaScript环境中,我们通常使用第三方库来实现`cron`表达式的功能。 "Cron调度器"是一个工具,允许开发者创建和管理基于`cron`表达式的定时任务。这个...

    Java 写的Cron表达式解析

    Cron表达式源自Unix的crontab命令,用于设置周期性被执行的任务。它使用一组字符串来描述时间序列,包括秒、分钟、小时、日期、月份和星期几。Java中的Cron表达式解析通常是通过Spring框架的`org.springframework....

    Cron表达式Html源码

    3. 时间和日期处理:理解和解析Cron表达式需要对JavaScript的时间和日期对象有深入理解,以便将Cron表达式转化为可执行的任务计划。 4. UI设计:创建一个友好的用户界面,让用户能直观地设置Cron表达式,例如通过...

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

    这类实体类通常会包含一些属性,如`expression`(Cron表达式字符串)、`nextExecutionTime`(下一个执行时间)等,以及相应的getter和setter方法。 3. **CronExpParserUtil.java**:这是一个工具类,很可能提供了...

    Cron表达式生成器html源码

    Cron表达式允许我们用一种简洁的方式定义一系列的时间计划,比如每天的某个时间点执行某项任务。下面将详细阐述Cron表达式的概念、结构以及如何使用在线Cron表达式生成器来简化这一过程。 1. **Cron表达式基本概念*...

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

    总结来说,"Cron表达式生成器java版"是一个实用的开发辅助工具,尤其对于需要频繁使用cron表达式的Java项目,它能简化 cron 表达式的创建过程,提高开发效率,并帮助开发者确保定时任务的准确执行。

    Quartz的cron表达式

    Quartz 的 cron 表达式是一个强大的调度工具,用于设置定时任务的执行时间。它由七个字段组成,分别是秒、分钟、小时、天(月)、月、天(星期)和年份。每个字段可以设置特定的值、范围、列表、通配符等。 秒(0-...

    可直接使用-cron表达式前端生成工具.zip

    cron表达式是一种在Unix和其他类Unix系统中广泛使用的定时任务调度工具,用于配置计划任务的执行。这个压缩包“可直接使用-cron表达式前端生成工具.zip”提供了一个基于HTML、CSS和JavaScript实现的前端工具,它使得...

    Cron表达式生成器.zip可反向解析

    通过这个生成器,用户可以直观地设置任务执行的时间规则,并得到相应的Cron表达式,反之亦然,如果已经有了一个Cron表达式,该工具也能帮助解析其含义。 这个生成器的使用方式非常简单,只需要运行压缩包中的`...

    C# Cron表达式解析 .net

    Cron表达式源于Unix操作系统,用于定义周期性任务的执行时间。在C#中,通过理解并解析Cron表达式,开发者可以创建灵活的定时任务。 Cron表达式通常由六个或七个由空格分隔的字段组成,每个字段代表不同的时间单位...

    .net C# Cron表达式解析.

    在.NET开发环境中,C#是一种常用的编程语言,而Cron表达式则是一种强大的定时任务调度工具,常用于Linux系统中的计划任务。然而,在C#中,我们也可以通过库来解析和使用Cron表达式,这使得.NET开发者也能利用Cron的...

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

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

    计划任务Cron表达式生成

    "Cron"这个词来源于北欧神话中的时间之神"Cronus",在Unix/Linux系统中,`cron`守护进程负责调度和执行由Cron表达式定义的任务。Cron表达式是由6或7个由空格分隔的字段组成的字符串,每个字段代表不同的时间单位,从...

    基于BootStrap简洁美观Cron表达式选择器JS插件

    Cron表达式是一种广泛用于计划任务调度的语言,它允许设置精确的时间间隔进行任务执行。此JS插件结合了流行的Bootstrap框架,使得在网页上创建一个既实用又美观的Cron选择器变得轻而易举。 **Cron表达式**是Unix和...

    cron表达式自动生成页面版

    cron表达式是Unix/Linux系统中的一个调度工具,用于在特定时间执行预定的任务。在Java世界中,Spring框架也广泛使用cron表达式来实现定时任务。这个"cron表达式自动生成页面版"是一个实用的工具,它允许用户在网页...

    cron表达式生成器(web版)

    Cron表达式插件此表达式生成器,可以直接打开,可以应用到自己的web页面 Quartz 中的 Cron 表达式。 可以再页面根据用户的选择自动获取Cron表达式传递到后台进行操作。 各种格式的Cron表达式获取: 日、月、年、...

    Quartz_cron表达式

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

    cron表达式校验,验证是否是正确的cron表达式,调用的主方法是function cronValidate(cronExpre

    cron表达式是Unix/Linux系统中用于设置定时任务的一种标准格式,它允许用户按照特定的时间间隔或特定时间点执行任务。在Java、JavaScript等编程语言中,我们也可以利用cron表达式来实现定时任务的功能。`...

Global site tag (gtag.js) - Google Analytics