Cron 表达式解析器

At 12:00 AM, on day 1 of the month
0     0     1     *     *     *
┬     ┬     ┬     ┬     ┬     ┬
│     │     │     │     │     │
│     │     │     │     │     └ 星期 (0, 1, 2, 3, 4, 5, 6, 7)
│     │     │     │     └───── 月份 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
│     │     │     └────────── 日期 (1)
│     │     └─────────────── 小时 (0)
│     └──────────────────── 分钟 (0)
└───────────────────────── 秒 (0)
上次
2026-06-01 00:00:00
2026-05-01 00:00:00
2026-04-01 00:00:00
2026-03-01 00:00:00
2026-02-01 00:00:00
下次
2026-03-01 00:00:00
2026-04-01 00:00:00
2026-05-01 00:00:00
2026-06-01 00:00:00
2026-07-01 00:00:00
概述
Generated by AI

Cron 表达式解析器是一款专业的 Cron 定时任务表达式解析工具,支持解析标准 Cron 表达式,提供可视化的字段解释和执行时间预览功能。适用于运维工程师、后端开发人员以及需要配置定时任务的技术人员。

功能特性

实时解析与验证

可准确解析 5-7 位的 Cron 表达式格式,支持标准 Cron 语法(通配符、区间、步长、列表等)。输入表达式后,系统会立即验证语法正确性,并给出清晰的错误提示。

自然语言描述

将复杂的 Cron 表达式转换为易读的自然语言描述。例如将 0 12 * * ? 转换为“每天中午 12 点执行”,降低理解门槛,减少配置错误。

字段可视化解释

提供直观的 ASCII 图形界面,清晰标注每个字段的含义和对应数值:

  • 秒(Seconds):0-59
  • 分(Minutes):0-59
  • 时(Hours):0-23
  • 日(Day of Month):1-31
  • 月(Month):1-12
  • 周(Day of Week):0-7 (0 和 7 均表示周日)

每个字段下方会显示解析后的实际数值,帮助理解表达式的确切含义。

执行时间预测

基于当前时间,自动计算并显示:

  • 未来 5 次执行时间:精确到秒级
  • 过去 5 次执行时间:方便回溯验证

时间格式采用 YYYY-MM-DD HH:mm:ss 标准格式,便于与日志系统对照。

示例模板

内置常用 Cron 表达式示例:

  • 0 12 * * ? - 每天中午执行
  • 0/15 0 * * ? - 每 15 分钟执行
  • 30 9 ? * MON-FRI - 工作日早上 9:30 执行
  • 15,45 13 ? 6 Tue - 6 月每周二 13:15 和 13:45 执行
  • 0-5 13 * * ? - 每天 13:00-13:05 每分钟执行
  • 0 18 L * ? - 每月最后一天 18:00 执行
  • 30 10 ? * 5L - 每月最后一个周五 10:30 执行
  • 0 10 ? * 2#3 - 每月第三个周二 10:00 执行

点击示例即可快速加载,方便学习和参考。

使用场景

系统运维

配置 Linux 系统的 crontab 定时任务时,使用工具验证表达式语法,避免因语法错误导致任务无法执行。预览执行时间可确保任务在正确的时间点运行。

应用开发

开发涉及定时任务的应用时(如数据备份、报表生成、定时推送等),使用工具调试和验证 Cron 配置。支持 Spring Scheduled、Quartz、Node-cron 等主流框架的表达式格式。

任务调度系统

在配置 Jenkins、GitLab CI / CD、云服务定时触发器等任务调度系统时,使用工具确保定时配置符合预期,避免错误触发或漏执行。

监控告警

配置监控系统的定时检查任务、告警规则的执行周期时,通过工具验证表达式,确保监控覆盖率和告警及时性。

Cron 语法说明

字段格式

标准 Cron 表达式包含 5-7 个字段,从左到右分别为:

秒 分 时 日 月 周

部分系统(如 Linux crontab) 使用 5 位格式,省略秒字段:

分 时 日 月 周

特殊字符

  • * 通配符:匹配该字段的所有值
  • - 区间:如 1-5 表示 1 到 5
  • , 列表:如 1,3,5 表示 1、3、5
  • / 步长:如 0/15 表示从 0 开始每隔 15
  • ? 无指定值:仅用于日和周字段,表示不关心该值
  • L 最后:在日字段表示月末,在周字段表示月末的该星期
  • # 第几个:如 2#3 表示第三个周二

常见示例

  • 0 0 * * * - 每天 0 点
  • */5 * * * * - 每 5 分钟
  • 0 9-17 * * * - 每天 9-17 点的整点
  • 0 0 1 * * - 每月 1 号 0 点
  • 0 0 * * 0 - 每周日 0 点
  • 0 0 1 1 * - 每年 1 月 1 日 0 点

注意事项

时区问题

Cron 表达式的执行时间基于服务器系统时区。配置定时任务时需确认服务器时区设置,避免因时区差异导致执行时间偏差。

日期冲突

当同时指定"日"和"周"字段时,大多数系统会以"或"的逻辑执行(即满足任一条件就触发)。如果只需按周执行,应将日字段设为 ?;如果只需按日执行,应将周字段设为 ?

跨年跨月

使用 L(最后)字符时,注意不同月份的天数差异和闰年情况。2 月 29 日在非闰年不存在,配置时需谨慎。

系统兼容性

不同系统的 Cron 实现可能存在细微差异:

  • Linux crontab 使用 5 位格式
  • Spring @Scheduled 使用 6 位格式(增加秒)
  • Quartz 使用 7 位格式(增加秒和年)

使用前请确认目标系统支持的格式。

特点

  1. 中文本地化支持,自然语言描述更符合中文阅读习惯
  2. 提供过去和未来执行时间双向预测
  3. 字段可视化解释,ASCII 图形界面直观易懂
  4. 内置丰富示例,覆盖常见使用场景
  5. 纯前端实现,无需上传数据,隐私安全

适合中文用户和对 Cron 语法不熟悉的技术人员使用。

展开更多