一个Cron表达式是由7个子表达式组成的字符串,这些子表达式用空格分隔,其中最后一个子表达式是可选的,其他都是必须的。每个子表达式都描述了一个单
独的日程细节。每一个子表达式的含义如下:
子表达式名称(取值范围)(允许的特殊字符)
1.Seconds
秒 (0-59) (, - * /)
2.Minutes分钟 (0-59) (, - * /)
3.Hours小时 (0-23)
(, - * /)
4.Day-of-Month月中的天 (1-31) (, - * ? / L W)
5.Month月
(1-12或JAN-DEC) (, - * /)
6.Day-of-Week周中的天 (1-7或SUN-SAT) (, - * ? / L
#)
7.Year(optional)年(可选) (空或1970-2099) (, - * /)
一个cron表达式的例子字符串为"0 0 12 ? * WED",这表示“每周三的中午12:00”。
单个子表达式可以包含范围或者列表。例如:前面例子中的周中的天这个域(这里是"WED")可以被替换为"MON-FRI", "MON, WED,
FRI"或者甚至"MON-WED,SAT"。
所有的域中的值都有特定的合法范围,这些值的合法范围相当明显,例如:秒和分域的合法值为0到59,小时的合法范围是0到23,Day-of-Month
中值得合法凡范围是0到31,但是需要注意不同的月份中的天数不同。月份的合法值是0到11。或者用字符串JAN,FEB MAR, APR, MAY,
JUN, JUL, AUG, SEP, OCT, NOV
及DEC来表示。Days-of-Week可以用1到7来表示(1=星期日)或者用字符串SUN, MON, TUE, WED, THU, FRI
和SAT来表示.
通配符('*')可以被用来表示域中“每个”可能的值。因此在"Month"域中的*表示每个月,而在Day-Of-Week域中的*则表示“周中的每一
天”。
'?'字符可以用在day-of-month及day-of-week域中,它用来表示“没有指定值”。这对于需要指定一个或者两个域的值而不需要对其他
域进行设置来说相当有用。
'/'字符用来表示值的增量,例如,
如果分钟域中放入'0/15',它表示“每隔15分钟,从0开始”,如果在份中域中使用'3/20',则表示“小时中每隔20分钟,从第3分钟开始”或者
另外相同的形式就是'3,23,43'。
'L'字符可以在day-of-month及day-of-week中使用,这个字符是"last"的简写,但是在两个域中的意义不同。例如,在day-
of-month域中的"L"表示这个月的最后一天,即,一月的31日,非闰年的二月的28日。如果它用在day-of-week中,则表示"7"或
者"SAT"。但是如果在day-of-week域中,这个字符跟在别的值后面,则表示"当月的最后的周XXX"。例如:"6L" 或者
"FRIL"都表示本月的最后一个周五。当使用'L'选项时,最重要的是不要指定列表或者值范围,否则会导致混乱。
'W'
字符用来指定距离给定日最接近的周几(在day-of-week域中指定)。例如:如果你为day-of-month域指定为"15W",则表示“距离月
中15号最近的周几”。
'#'表示表示月中的第几个周几。例如:day-of-week域中的"6#3" 或者
"FRI#3"表示“月中第三个周五”。
分享到:
相关推荐
3. 验证生成的Cron表达式是否符合预期,可以使用Quartz提供的CronTrigger类进行测试和验证。 总之,这个超好用的Quartz Cron表达式HTML工具为Java开发者提供了一个强大的助手,使得管理Quartz定时任务变得更加直观...
Quartz支持多种触发器类型,其中最为灵活且功能强大的是CronTrigger,它允许用户通过Cron表达式来精确地定义作业的执行时间。 #### 二、Cron表达式格式与构成 Cron表达式是由6个(有时7个)由空格分隔的时间字段...
Cron表达式是Unix/Linux系统中的定时任务调度器Cron所使用的语法,也被广泛应用于Java世界,例如Quartz、Spring等框架。它允许用户以字符串的形式定义任务的执行时间,如分钟、小时、日期等。这个压缩包文件包含了对...
Cron表达式是一种在IT行业中广泛使用的定时任务调度工具,特别是在Java领域,如Quartz框架。Cron表达式由七个子表达式组成,用于定义一个时间模式,使得任务可以在特定的时间点执行。每个子表达式代表不同的时间单位...
Quartz 的 cron 表达式详解 Quartz 的 cron 表达式是一个强大的调度工具,用于设置定时任务的执行时间。它由七个字段组成,分别是秒、分钟、小时、天(月)、月、天(星期)和年份。每个字段可以设置特定的值、范围...
Quartz是一款广泛应用于Java和.NET平台...掌握Quartz和Cron表达式是提升应用程序智能化和自动化水平的关键技能之一。通过实践和理解QuartzCron项目,开发者不仅能提高工作效率,还能深入理解任务调度的原理和实现方式。
在Quartz中,我们可以使用`CronTrigger`类来创建基于cron表达式的触发器,并将其与作业(Job)关联,从而定义定时任务。`CronTrigger`的构造函数通常接受cron表达式字符串作为参数。 在实际应用中,理解并熟练掌握...
Java中的Cron表达式解析通常是通过Spring框架的`org.springframework.scheduling.support.CronSequenceGenerator`类或者第三方库如Quartz的`org.quartz.CronExpression`来实现。 首先,让我们理解Cron表达式的格式...
Cron表达式是Quartz中一个重要的概念,用于定义这些定时任务的执行计划。Cron表达式源自Unix系统的crontab命令,用于配置定时任务,而在Quartz中,它被用来更加灵活地设定作业的触发时间。 标题提到的"quartz的cron...
Quartz.Net Cron表达式生成器winform版 最近使用Quartz.net做了几个同步任务,感觉非常好。表达式设置也是非常灵活,但是新入手发现对表达式不熟,每次都要使用在线生成器。 于是写了一个winform版本的生成器...
Cron表达式是一种在计算机程序中广泛使用的定时任务调度工具,尤其在Java的Quartz框架中,它扮演着核心角色。Cron表达式允许我们用一种简洁的方式定义一系列的时间计划,比如每天的某个时间点执行某项任务。下面将...
cron表达式是Unix/Linux系统中用于定时任务调度的一种机制,而在Java中,通过Quartz、Spring框架等库,也可以使用cron表达式来实现定时任务。本项目提供的"Cron表达式生成器java版"是一个基于Java 1.8的工具,能够...
以下是一个简单的C#代码片段,展示了如何使用第三方库解析Cron表达式: ```csharp using Cronos; string cronExpr = "0 0 12 * * ?"; ICronParser parser = new CronParser(new CronSyntax()); Cron cron = parser...
在C#中,我们可以使用开源库如Quartz.NET或者NCrontab来解析和处理Cron表达式。Quartz.NET是一个功能丰富的作业调度框架,支持Cron表达式,而NCrontab则是一个轻量级的库,专为Cron表达式解析设计。 1. **Quartz...
- **Spring Framework**: 在Spring中,`@Scheduled`注解配合`Cron`属性可以方便地使用Cron表达式来设定定时任务。 - **CronSequenceGenerator**: Spring提供的类,可以解析和生成Cron表达式。 **5. 安全性和最佳...
Cron表达式是Quartz中用于配置定时任务的一种强大工具,源自Unix的cron系统,可以按照特定的时间间隔或者时间模式执行任务。在这个项目中,我们将讨论如何结合jQuery和Bootstrap来实现一个用户友好的界面,以便于...
Cron生成表达式HTML源码是一个用于创建和理解Quartz任务调度中使用的Cron表达式的实用工具。Quartz是一款开源的作业调度框架,它允许在Java应用中安排和执行任务。Cron表达式是Quartz中一个核心的概念,用于定义定时...
Cron表达式插件此表达式生成器,可以直接打开,可以应用到自己的web页面 Quartz 中的 Cron 表达式。 可以再页面根据用户的选择自动获取Cron表达式传递到后台进行操作。 各种格式的Cron表达式获取: 日、月、年、...
这可能是网上最完整的Cron表达式解析翻译方法。 Java版-解释翻译Cron表达式(代码奉上)。 此方法分为JavaScript版和Java版本,有需要的朋友请根据自己需要下载。 希望我写的方法有帮助到你,不足之处请多多指教。