CronExpression表达式
格式:[秒] [分] [时] [每月的第几日] [月] [每周的第几日] [年]
| 字段名 | 必须的 | 允许值 | 允许的特殊字符 |
|---|---|---|---|
| Seconds | YES | 0-59 | , - * / |
| Minutes | YES | 0-59 | , - * / |
| Hours | YES | 0-23 | , - * / |
| Day of month | YES | 1-31 | , - * ? / L W |
| Month | YES | 1-12 or JAN-DEC | , - * / |
| Day of week | YES | 1-7 or SUN-SAT | , - * ? / L # |
| Year | NO | empty, 1970-2099 | , - * / |
注意:有效范围为1-7的整数或SUN-SAT两个范围。1表示星期天,2表示星期一, 依次类推
特殊字符说明:
| 字符 | 含义 |
|---|---|
* | 用于 指定字段中的所有值。比如:* 在分钟中表示 每一分钟。 |
? | 用于 指定日期中的某一天,或是 星期中的某一个星期。 |
- | 用于 指定范围。比如:10-12 在小时中表示 10 点,11 点,12 点。 |
, | 用于 指定额外的值。比如:MON,WED,FRI 在日期中表示 星期一, 星期三, 星期五。 |
/ | 用于 指定增量。比如:0/15 在秒中表示 0 秒, 15 秒, 30 秒, 45 秒。5/15 在秒中表示 5 秒,20 秒,35 秒,50 秒。 |
L | 在两个字段中拥有不同的含义。比如:L 在日期(Day of month)表示 某月的最后一天。在星期(Day of week)只表示 7 或 SAT。但是,值L 在星期(Day of week)中表示 某月的最后一个星期几。比如:6L 表示 某月的最后一个星期五。也可以在日期(Day of month)中指定一个偏移量(从该月的最后一天开始).比如:L-3 表示 某月的倒数第三天。 |
W | 用于指定工作日(星期一到星期五)比如:15W 在日期中表示 到 15 号的最近一个工作日。如果第十五号是周六, 那么触发器的触发在 第十四号星期五。如果第十五号是星期日,触发器的触发在 第十六号周一。如果第十五是星期二,那么它就会工作开始在 第十五号周二。然而,如果指定 1W 并且第一号是星期六,那么触发器的触发在第三号周一,因为它不会 “jump” 过一个月的日子的边界。 |
L和 W | 可以在日期(day-of-month)合使用,表示 月份的最后一个工作日。 |
# | 用于 指定月份中的第几天。比如:6#3 表示 月份的第三个星期五(day 6 = Friday and “#3” = the 3rd one in the month)。其它的有,``2#1表示月份第一个星期一。4#5表示月份第五个星期三。注意: 如果只是指定#5,则触发器在月份中**不会**触发。 |
注意:字符不区分大小写,MON 和 mon 相同。
cronExpression 示例
| 表达式 | 含义 |
|---|---|
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 分的每一分钟 |
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 点 5 分的每一分钟 |
0 10,44 14 ? 3 WED | 3 月每周三的下午 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 L-2 * ? | 每月最后两天的上午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 号开始每隔 5 天的中午 12 点 |
0 11 11 11 11 ? | 每年 11 月 11 号上午 11 点 11 分 |

CronExpression是一种用于配置定时任务的表达式,它定义了时间的精确调度。本文详细介绍了表达式的格式和各字段的含义,包括秒、分、时、日、月、周和年等。同时,讲解了特殊字符如*、?、-、,、/、L、W和#的用法,并通过多个示例展示了如何构造不同场景下的定时任务。了解这些知识,可以帮助你更有效地设置和管理定时任务。
1万+

被折叠的 条评论
为什么被折叠?



