使用步骤
- 输入或粘贴表达式,例如 0 9 * * 1-5。
- 查看中文说明以及每个字段的取值。
- 选择服务器所在时区,查看接下来 10 次实际的执行时间。
- 点击右侧的常用示例,快速得到常见的定时规则。
参数说明
- 字段
- 5 个字段依次是分、时、日、月、周。前面再加一个字段表示秒(Spring、Quartz、XXL-JOB 等使用)。
- 特殊字符
- * 表示任意值;, 表示列举(1,15);- 表示范围(1-5);/ 表示间隔(*/10 即每 10)。Quartz 在日和周字段中用 ? 表示不指定。
- 星期
- 0 或 7 表示周日,1 表示周一,也可以写 MON-FRI 这样的英文缩写。
- 时区
- 定时任务按服务器时区执行,云服务器通常是 UTC。在这里选择对应时区,就能看到任务真正触发的时间。
常用表达式
| 表达式 | 执行时间 |
|---|---|
* * * * * |
每分钟 |
*/15 * * * * |
每 15 分钟 |
0 * * * * |
每小时整点 |
0 9 * * 1-5 |
工作日 9:00 |
30 2 * * * |
每天 2:30 |
0 0 * * 0 |
每周日零点 |
0 0 1 * * |
每月 1 日零点 |
0 0 1 1 * |
每年 1 月 1 日零点 |
0 0 12 * * ? |
每天 12:00(Quartz,带秒) |
常见问题
*/5 * * * * 是什么意思?
每 5 分钟执行一次,即每小时的第 0、5、10……分钟。
为什么任务执行时间差了 8 小时?
最常见的原因是服务器使用 UTC,而你是按北京时间写的表达式。上方选择 UTC 就能看到真实的执行时间;也可以给任务设置 CRON_TZ 或 TZ 环境变量(如果调度器支持)。
日和星期同时指定时怎么算?
标准 cron 中,如果两个字段都限定了值(例如 0 0 1 * 1),只要满足其中一个就会执行,即每月 1 日和每周一都会执行。Quartz 为避免歧义,要求其中一个字段写 ?。
支持 Kubernetes CronJob、GitHub Actions 的定时吗?
支持,两者都使用标准的 5 位 cron。GitHub Actions 默认按 UTC 时区计算。
隐私说明
本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。