示例
下面展示了一些 Cron 表达式和相关含义的示例:
15 23 * * ? *
每天晚上 23:15 运行0 18 ? * MON-FRI *
每个工作日下午 6:00 运行0 8 1 * ? *
每个月 1 号上午 8:00 运行0/15 * * * ? *
每 15 分钟运行一次
Cron 表达式语法
Cron 表达式有六个必需字段,按空格分隔。
第一位 | 第二位 | 第三位 | 第四位 | 第五位 | 第六位 |
---|---|---|---|---|---|
分钟 | 小时 | 日 | 月 | 星期 | 年 |
其中,每个字段都有相应的取值范围:
字段 | 值 | 通配符 |
---|---|---|
分钟 | 0-59 | , - * / |
小时 | 0-23 | , - * / |
日 | 1-31 | , - * ? / |
月 | 1-12 或 JAN-DEC | , - * / |
星期 | 1-7 或 SUN-SAT | , - * ? / |
年代 | 1970-2199 | , - * / |
通配符分别代表了以下意义:
通配符 | 含义 |
---|---|
, (逗号) | 代表取用逗号隔开的字符的并集。例如:在“小时”字段中 1,2,3表示1点、2点和3点 |
- (破折号) | 包含指定范围的所有值。例如:在“日”字段中,1-15 包含指定月份的 1 号到 15 号 |
* (星号) | 表示所有值。在“小时”字段中,* 表示每个小时 |
/ (正斜杠) | 指定增量。在“分钟”字段中,输入 1/10 以指定从第一分钟开始的每隔十分钟重复。例如,第 11 分钟、第 21 分钟和第 31 分钟,依此类推 |
? (问号) | 表示忽略相应字段。例如,在“日”字段中输入 7,并希望不管 7 号是星期几都执行,则可以在“星期”字段中输入 ? |
注意事项
不支持在 Cron 表达式中的“日”和“星期”字段同时指定值。如果在其中一个字段中指定了值,则必须在另一个字段中使用 ? 。
上一篇 可以利用触发器实现一个消息提醒的功能吗,比如:当用户打卡后,3 天后通过微信订阅消息提醒他来再打卡?
知晓云-小程序开发快人一步
回复(2)
写的真好
https://crontab.guru/ 这是个好工具