Toolify

Cron 表达式测试器 (预览未来 5 次运行)

输入 5 字段 cron 表达式 (分、时、日、月、周), 查看接下来 5 个触发时间。常用预设可一键填入。

接下来 5 次
  1. 1.2026年5月7日星期四 09:00
  2. 2.2026年5月8日星期五 09:00
  3. 3.2026年5月11日星期一 09:00
  4. 4.2026年5月12日星期二 09:00
  5. 5.2026年5月13日星期三 09:00

工作原理

Cron 五字段语法

标准 cron 有 5 个空格分隔字段: 分 (0-59)、时 (0-23)、日 (1-31)、月 (1-12)、周 (0-6, 0=周日)。每字段接受: 单值 (5)、范围 (1-5)、列表 (1,3,5)、步长 (*/15 表示每 15)、或通配 (*)。可组合: 1-5,10/2 表示 1-5 然后从 10 起每 2。

本测试器用严格 POSIX/Linux crontab 方言。某些系统扩展支持月名 (JAN-DEC) 或周名 (SUN-SAT) — 这里不支持。完全兼容请用数字。

常用模式

*/5 * * * * — 每 5 分钟。缓存刷新和短轮询有用。

0 9 * * 1-5 — 工作日早 9 点。办公时间报表。

0 0 1 * * — 每月 1 日午夜。月度账单或统计汇总。

0 */6 * * * — 每 6 小时 (00:00、06:00、12:00、18:00)。长轮询。

0 0 * * 0 — 每周日午夜。周报。

*/15 9-17 * * 1-5 — 工作日营业时间每 15 分钟。活跃时段轮询。

日 vs 周

两字段都接受值, 但注意: 标准方言中, 当两者都设置 (非 '*'), cron 在「任一」匹配时运行, 不是「都」匹配。所以 `0 0 1 * MON` (月 1 日, 或周一) 比你想的频繁。

「每月第一个周一」cron 自身做不到 — 要么每天跑脚本内部检查日 ≤ 7, 要么用支持更丰富调度的调度器 (Airflow、GitHub Actions schedule + 检查)。

常见问题

为什么我看到的是本地时区 5 次?

Cron 始终用主机本地时区。这里显示你的浏览器时区。真实 cron 守护进程遵循服务器 TZ; 请检查你的主机。

可以用月/周名?

暂不 — 仅数字。可能稍后添加 JAN/MON 风格别名。

* 与 ? 区别?

标准 cron 中相同。某些 Quartz 方言用 ? 区分日和周字段的「未指定」。标准 cron 视它们相同。

为什么日+周不按预期工作?

两字段都不是 '*' 时, 标准 cron 用 OR (任一匹配)。要 AND (「每月第一个周一」), 需要包装脚本或更丰富的调度器。

支持秒?

标准 cron 是分钟精度。某些系统加第六字段 for 秒; 我们不支持。需要秒精度请用 setInterval 或别的调度器。

粒度极限?

分钟级。比 1 分钟更细的调度无法用 cron 表达。

可以测试过去年份的 cron 表达式?

我们从「现在」向前算。历史分析请用编程语言的 cron 库。

数据会上传吗?

不会。解析与计算都在本地。

相关工具

最后更新: