`
tang9140
  • 浏览: 34538 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

CronExpression表达式语法总结

 
阅读更多

一个cron表达式由6或7个时间元素组成。它们之间用空格分隔,依次为:[秒] [分] [小时] [日] [月] [星期] [年]

序号 说明 是否必填 允许填写的值 允许的符号
1 0-59 , - * /
2 0-59 , - * /
3 小时 0-23 , - * /
4 1-31 , - * ? / L W
5 1-12 or JAN-DEC , - * /
6 星期 1-7 or SUN-SAT , - * ? / L #
7 1970-2099 , - * /

其中每个元素值可以是一个确定值(6),一个连续区间(9-12),一个间隔时间(0/5),一个列表(1,3,5)或通配符。

“-”表示可选值范围,如在“小时”上设置“10-12”,表示10点、11点和12点触发。
“,”表示可选的多个值,例如在“星期”上设置“MON,WED,FRI”,表示周一,周三和周五触发。
“/”用于递增触发,如在“秒”上面设置“5/15”表示从第5秒开始,每15秒触发一次(5,20,35,50);在“日”上设置“1/3”表示每月1号开始,每三天触发一次。

*表示所有值. 如在“分”上设置“*”,表示每分钟触发。
“?”字符仅出现在“日”和“星期”两个元素上,表示不指定值。当这两个元素之一被指定了值以后,为了避免冲突,需要将另一个元素的值设为“?”

“月”和“星期”元素上若使用英文字母是不区分大小写的,即MON与mon相同

“L” 字符仅出现在“日”和“星期”两个元素上,它是单词“last”的缩写。
“L”在“日”元素上出现,表示每个月的最后一天;在“星期”元素上出现,表示每个月最后一个星期六。
如果在“L”前有具体的内容,它就具有其他的含义了。例如:“6L”在“日”上出现,表示每月的倒数第6天;“5L”在“星期”上出现,表示每月的最后一个星期四

注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题

W表示离指定日期的最近那个工作日(周一至周五).
例如在日字段上设置“15W”,表示离每月15号最近的那个工作日触发。
如果15号正好是周六,则找最近的周五(14号)触发;如果15号是周未,则找最近的下周一(16号)触发;如果15号正好在工作日(周一至周五),则就在该天触发。
如果指定格式为“1W”,它则表示每月1号往后最近的工作日触发。
如果1号正是周六,则将在3号下周一触发。(注,“W”前只能设置具体的数字,不允许区间“-”).

小提示:“L”和 “W”可以一组合使用。如果在“日”上设置“LW”,则表示在本月的最后一个工作日触发;

常用示例:
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 * * ? 每天14点到14点59分之间,每分钟触发一次

0 0/5 14 * * ? 每天14点到14点59分之间,每5分钟触发一次(从14点开始触发)

0 0/5 14,18 * * ? 每天14点到14点59分及18点到18点59分,每5分钟触发一次(分别从14点、18点开始触发)

0 0-5 14 * * ? 每天14点到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 2002-2005 从2002年到2005年每月一个周五的10点15分触发

0 15 10 ? * 6#3 每月第三个周五的10点15分触发

0 0 12 1/5 * ? 每月1号的12点开始触发,每隔5天触发一次

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    CronExpression一个cron表达式解析器

    2. **验证cron表达式**:检查输入的表达式是否有效,避免因为错误的语法导致的问题。 3. **生成cron表达式**:根据需求生成符合规范的cron表达式,比如根据特定的日期和时间间隔。 4. **比较时间**:比较两个cron...

    十分钟教会你cron表达式

    十分钟教会你cron表达式,介绍怎么写cron表达式的语法

    Java 写的Cron表达式解析

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

    react+ts+antd cron表达式组件

    1. `CronExpression`组件:这是核心组件,它负责展示和编辑Cron表达式的各个字段。 2. `Field`子组件:每个Cron字段(如秒、分等)可能被封装成独立的子组件,便于复用和维护。 3. 验证逻辑:Cron表达式需要符合特定...

    计划表达式的NET的例子

    总结一下,CRON表达式是.NET开发者进行定时任务调度的重要工具。通过理解其基本结构和语法,结合C#中的`Quartz.NET`或其他第三方库,你可以方便地创建和管理复杂的定时任务。无论是在服务器维护、数据同步还是其他...

    定时任务cron 解析为中文.docx

    总结来说,`CronExpParserUtil`是针对cron表达式解析的实用工具,它将难以理解的cron表达式转化为中文描述,方便团队成员快速掌握定时任务的执行计划,进一步提升了工作效率。在实际开发中,类似的辅助工具对于提升...

    quartz中cronExpression 配置资源

    在 Quartz 中,`cronExpression` 是一种强大的配置方式,允许开发者使用类似 Unix cron 的语法来定义任务的执行时间。 `cronExpression` 由七个子表达式组成,分别代表秒、分、小时、日、月、周几和年份。每个子...

    Spring线程时间配置:Quartz和CronExpression

    #### 二、Cron表达式的语法与特性 - **星号(*)**: 代表所有可能的值,例如“\*”在天字段中表示每月的每一天。 - **问号(?)**: 仅用于天(Day of Month)和星期(Day of Week)字段,表示不指定值。当指定了...

    Quartz动态修改时间,java实现修改CronExpression方法

    首先,CronExpression是Quartz中用于定义时间触发规则的关键组件,它基于Unix的crontab语法,可以精确到秒来设置任务的执行频率。例如,"0 0/5 * * * ?"表示每5分钟执行一次。要动态修改CronExpression,我们需要对...

    Quartz Cron表达式

    ### Quartz Cron表达式详解 #### 一、CronTrigger与SimpleTrigger对比 在Quartz调度器中,`CronTrigger`是一种非常强大的触发机制,它能够根据复杂的...理解和掌握Cron表达式的语法对于高效利用Quartz调度器至关重要。

    Linux Cron表达式解析

    2. **校验**:检查表达式是否符合Cron的语法规则。 3. **计算下次执行时间**:根据当前时间和Cron表达式计算出下一次任务应该执行的时间。 4. **匹配**:判断给定的时刻是否匹配Cron表达式,即该时刻是否是任务的...

    时间解析器corn

    Cron表达式的语法相当灵活且强大。例如,以下是一些基本的Cron表达式示例: - `* * * * * * *`:每秒执行一次。 - `0 0 * * * *`:每天的整点执行一次。 - `0 30 12 * * *`:每天中午12:30执行一次。 - `0 0 1 1 * *...

    cron-expression-1.0.zip

    总结一下,cron-expression-1.0.zip提供的工具是针对cron表达式的,包括Web界面和Java EXE应用。用户可以利用这些工具方便地创建、测试和管理cron表达式,从而更好地安排和控制定时任务。对于熟悉或需要了解cron...

    cron测试工具

    cron测试工具是IT行业中用于调试和验证cron表达式的实用程序,尤其在自动化任务调度中扮演着重要角色。cron是Unix/Linux系统中的一个时间计划任务工具...同时,理解cron表达式及其语法对于有效地使用这些工具至关重要。

    Spring schedule定时任务前台界面配置源代码 v1.1-可直接打开看效果-附CURD集成说明

    3、自定义(自定义功能,用户可以在前台随意定制执行计划,只要符合spring schedule cronExpression语法) 使用说明: 一: /* line 96 */ var action = "edit";//edit,add,view action用来指定用户动作,新增、...

    java8看不到源码-cron-expression:Javacron表达式库

    表达式 该项目包含用于解析cron表达式和构建相应 Java 对象的代码。 它提供了一个用于检查cron表达式是否与java.time.ZonedDateTime对象匹配的小接口。 它提供了用于与java.util.concurrent集成的代码,尽管使用它是...

    TbSchedule中定时规则生成quartzcron

    CronExpression cronExp = new CronExpression(cronExpression); } catch (ParseException e) { // 处理无效的cron表达式 } ``` 5. **管理任务**: `TbSchedule`通常会提供一个管理界面,允许你暂停、恢复、删除...

    jquery-cronmaker:简单的Cron Maker jQuery插件

    总结来说,`jQuery CronMaker` 是一个实用的前端工具,它简化了Cron表达式的创建和管理,为Web应用添加了强大的定时任务配置功能。通过合理的配置和样式调整,它可以无缝集成到任何jQuery项目中,为用户提供直观的...

    spring定时器配置

    Cron表达式的语法非常灵活,可以精确控制任务的执行频率。例如,`0 0/30 9-17 * * ?`表示在工作日的9点至17点之间,每半小时执行一次;而`0 0 12 ? * WED`则表示每周三的12点执行。每个字段都可以设置为一个值、范围...

    Spring 中任务调度 TimeTask 与quartz简单用法

    `cronExpression`的语法包含7个字段,从左到右依次代表秒、分钟、小时、日期、月份、星期和年份。每个字段可以是一个具体的值,或者是一些特殊字符的组合,如星号(*)代表任意值,逗号(,)用于列举多个值,减号(-)表示...

Global site tag (gtag.js) - Google Analytics