toolgarden.xyz
EN

Cron 表达式解析

解析 Cron 表达式并转成人类可读的文字说明,同时预览接下来几次的实际触发时间,浏览器本地计算。

Cron 表达式

解析结果

每隔 5 分钟

下次执行时间

  • #12026-08-17 10:40:00
  • #22026-08-17 10:45:00
  • #32026-08-17 10:50:00
  • #42026-08-17 10:55:00
  • #52026-08-17 11:00:00
  • #62026-08-17 11:05:00

工具说明

Cron 表达式用空格分隔的时间字段描述重复计划。工具解析常见的分钟、小时、日、月和星期字段,生成可读说明,并基于选定时区预览接下来的执行时间,适合在部署前检查边界。

Cron 并非只有一个方言。Linux crontab 常用五字段,Quartz 常增加秒和年份,不同平台对星期编号、问号和特殊字符的支持也不同。这里的结果必须与实际调度器文档对照。

使用步骤

  1. 确认目标方言

    先查部署平台需要五字段还是包含秒的格式,以及它如何解释星期和时区。

  2. 输入表达式和时区

    粘贴完整表达式,选择任务真正运行的时区,而不是只看本机时间。

  3. 核对后续执行时间

    检查跨日、月底、夏令时和工作日边界,确认预览符合业务预期。

输入与输出示例

注意最后一例:日和周同时指定时按「或」处理,1 号和每个周一都会触发。

Cron 表达式
0 9 * * 1-5
*/15 * * * *
0 0 1 * 1
解析结果
每周一至周五 09:00
每 15 分钟
每月 1 号 00:00,以及每周一 00:00

支持范围与限制

支持的字段
标准五字段(分 时 日 月 周),部分实现的六字段(含秒)写法
输出
人类可读的执行时间描述,以及接下来 N 次的实际触发时间
方言差异
Linux crontab、Quartz、Kubernetes CronJob、各语言库的语法并不完全一致,特殊字符支持不同
日与周同时指定
多数实现按「或」处理(满足任一即触发),这是最常被误解的一条规则
时区
预览按你浏览器的本地时区计算。服务器多以 UTC 运行,部署前务必核对
夏令时
跨夏令时切换的时点可能被跳过或执行两次,关键任务不要安排在切换时段

典型使用场景

  • 审查定时任务配置

    在提交 CI、Kubernetes 或服务器计划任务前确认频率没有写快或写慢。

  • 排查未按时执行

    把表达式放回解析器,结合时区和下次时间定位字段误解。

  • 把需求翻译成表达式再验证

    「每个工作日早上九点」这类描述写成表达式后,用接下来几次的触发时间反向确认理解是否一致。

使用前需要知道的事

  • 预览只解释计划,不会创建、保存或运行任何真实任务。
  • 夏令时切换可能让某个本地时间重复或不存在,调度器的处理策略各不相同。
  • “日”和“星期”字段同时受限时,OR 还是 AND 取决于具体 Cron 方言。

相关概念

field
Cron 中用空格分隔的一段,例如分钟或小时,可以包含通配符、列表、范围和步长。
step value
用 */n 表示每隔 n 个单位执行,例如 */15 代表每 15 分钟。

常见问题

Cron 表达式解析能显示什么?
工具会把 Cron 表达式翻译成人类可读的描述,并预览接下来若干次的执行时间,便于确认是否符合预期。
支持哪些 Cron 格式?
支持标准的五段式 Cron 以及带秒的扩展写法,可用于校验定时任务的调度规则。
解析会上传数据吗?
不会。Cron 表达式在浏览器本地解析,内容不会上传到服务器。
日和周同时指定会怎样?
多数实现按「或」处理:只要日期或星期任一匹配就触发。例如 `0 0 1 * 1` 在每月 1 号和每个周一都会执行,而不是只在「1 号且是周一」时执行。这是最常被误解的一条规则,务必用预览确认。
预览时间和服务器实际执行时间不一致?
预览按你浏览器的本地时区计算,而服务器和容器多数运行在 UTC。部署前请把表达式换算到服务器时区,或者在调度配置里显式声明时区。