Cron 表达式解析在线工具教程:中文翻译、执行时间预测与代码生成

Cron 表达式解析在线工具教程:中文翻译、执行时间预测与代码生成

📁 开发👁️ 149 阅读⏱️ 5 分钟阅读🕒 2026/9/14

免费在线 Cron 表达式解析工具,支持 Linux 5 位与 Spring/Quartz 6 位格式,中文含义翻译、未来 10 次执行时间预测、可视化配置和 Spring/Java/Linux/Python 代码生成。

工具简介

Cron 表达式解析是工具派推出的一款免费在线开发辅助工具:把 0 9 * * 1-5 这类让人看了一头雾水的 Cron 定时表达式,直接翻译成「工作日早上 9 点执行」这样人类可读的中文描述,并自动推算出接下来 10 次的具体执行时间。它同时支持 Linux Crontab 的 5 位格式(分 时 日 月 周)和 Spring / Quartz 常用的 6 位格式(秒 分 时 日 月 周),既能粘贴已有表达式做解析校验,也能通过可视化配置逐字段生成表达式,还能一键生成 Spring @Scheduled、Java Quartz、Linux crontab、Python APScheduler 四种框架的接入代码,解析与计算全部在浏览器本地完成,打开即用。

功能亮点

  • 双格式支持:可在「Linux Crontab (5位)」和「Spring/Quartz (6位)」两种格式间一键切换,分别对应「分 时 日 月 周」和「秒 分 时 日 月 周」字段结构,覆盖绝大多数后端定时任务场景。
  • 人类可读含义翻译:输入表达式后即时给出中文描述,例如 0 9 * * 1-5 会被翻译成「整点,9 时,周一,周二,周三,周四,周五」,常见写法如每天凌晨、每小时整点还有专属描述。
  • 接下来 10 次执行时间:基于当前时间逐分钟推算,列出未来 10 次触发的完整日期时间和对应星期,方便核对表达式是否符合预期,最长可向前推算两年。
  • 可视化配置:点「可视化配置」展开字段面板,秒、分、时、日、月、周每个字段一个输入框,支持 *,-/ 语法,还带「任意」快捷按钮,周字段更有一到日的中文快捷按钮,改字段即实时更新表达式。
  • 11 个常用预设:每分钟、每5分钟、每30分钟、每小时、每天凌晨、每天3点、每天9点、每周一、每月1日、工作日9点、周末10点,点击即套用并同步刷新可视化字段。
  • 四种代码生成:解析合法时自动生成 Spring @Scheduled(默认)、Java Quartz Trigger、Linux crontab 行、Python APScheduler 四种接入代码,复制进项目即可运行。
  • 清晰的错误提示:字段数量不对、数值越界(如分钟填 60)、间隔/范围格式错误都会用红色提示明确指出是哪个字段、哪一段出了问题。

参数说明

参数 说明 默认值 / 取值范围
格式切换 选择表达式的字段结构 Linux Crontab (5位,默认)/ Spring/Quartz (6位)
Cron 表达式 要解析的表达式,可直接输入或粘贴,支持清空和复制 默认 0 9 * * 1-5(6位格式为 0 0 9 * * 1-5
6 位格式下可视化配置中的秒字段 0–59,默认 0
分钟字段 0–59,默认 0
小时字段 0–23,默认 9
每月第几日 1–31,默认 *(任意)
月份 1–12,默认 *(任意)
星期几,0 代表周日 0–6,默认 1-5(工作日)
常用预设 点击套用常用表达式,并按当前格式自动选用 5 位或 6 位版本 每分钟、每5分钟、每30分钟、每小时、每天凌晨、每天3点、每天9点、每周一、每月1日、工作日9点、周末10点
代码生成语言 生成的接入代码模板 SPRING(默认)/ JAVA / LINUX / PYTHON

使用步骤

  1. 打开工具页面:上方是标题和说明,主体卡片内自上而下依次是格式切换、常用预设、Cron 表达式输入框、解析结果和语法说明,无需安装即可使用。

Cron 表达式解析工具主界面:顶部标题区下方依次为格式切换按钮(Linux Crontab 5位/Spring-Qua

  1. 选择格式:默认是「Linux Crontab (5位)」,如果你的项目用 Spring @Scheduled 或 Quartz,点「Spring/Quartz (6位)」切换到带秒的 6 位格式;切换时输入框会重置为该格式的默认示例。

  2. 输入或粘贴表达式:在「Cron 表达式」输入框中粘贴要解析的表达式,页面会实时解析。也可以点输入框右侧的「清空」重新输入,或点「复制」把当前表达式拷走。

  3. 套用预设或可视化配置(可选):不想手写时点「常用预设」里的方案一键套用;点「可视化配置」展开字段面板,逐个字段填值——周字段可以直接点「一」到「日」的快捷按钮,「任意」按钮则把字段重置为 *

  4. 查看解析结果:表达式合法时,蓝色「含义」区给出中文描述,下方左侧列出「接下来 10 次执行时间」(含星期),右侧是代码生成区;表达式非法时会出现红色错误提示,按提示修正对应字段即可。

  5. 生成接入代码:在「代码生成」区切换 SPRING / JAVA / LINUX / PYTHON,得到对应框架的模板代码——SPRING 给出 @Scheduled(cron = "...") 注解示例,JAVA 给出 Quartz TriggerBuilder,LINUX 给出可追加到 crontab -e 的完整行,PYTHON 给出 APScheduler 的 add_job 调用。

使用技巧

  • 先用预设再找感觉:对语法不熟时,先点几个预设(如「工作日9点」「每月1日」),观察输入框、含义描述和执行时间的变化,比直接背语法快得多。
  • 用执行时间反推验证:写完表达式别急着用,先看「接下来 10 次执行时间」的日期和星期是否符合预期——比如 1-5 的列表里不应出现周六周日,一眼就能发现问题。
  • 注意 5 位和 6 位的区别:Spring @Scheduled 用的是 6 位(带秒),直接粘贴 Linux 的 5 位表达式会报字段数量错误;先切对格式再粘贴,或让可视化配置帮你生成对应格式。
  • 周字段 0 是周日:本工具周字段取值 0–6,其中 0 和 7 习惯上都表示周日,但这里按 0–6 处理,「周末10点」预设写作 0,6(周日和周六)。
  • 报错信息直接指明字段:出现「分钟 越界: 60(应在 0-59 之间)」这类提示时,按提示定位到具体字段和片段修改即可,不用整体重写。
  • 底部语法说明随时查:页面底部的语法卡片汇总了 *(任意值)、,(列表)、-(范围)、/(间隔)四种符号和 4 个经典示例,忘了写法时扫一眼即可。

常见问题

Q1:5 位和 6 位格式有什么区别?
5 位是 Linux crontab 标准格式,字段为「分 时 日 月 周」;6 位在最前面多了「秒」字段,即「秒 分 时 日 月 周」,是 Spring @Scheduled 和 Quartz 使用的格式。字段数不匹配时工具会提示「Cron 表达式需要 5/6 个字段」。

Q2:周字段里的 1-5 和 0,6 是什么意思?
周字段取值 0–6,0 代表周日,1–5 代表周一到周五。1-5 是范围写法表示工作日,0,6 是列表写法表示周日和周六(周末)。

Q3:执行时间里的「秒」是怎么算的?
执行时间按分钟粒度推算:6 位格式下秒字段会被解析校验,但列出的 10 次执行时间精确到分钟,对绝大多数定时任务场景已经足够。

Q4:可视化配置改了字段,输入框会跟着变吗?
会。可视化面板里任何字段的修改都会实时拼成新的表达式写回输入框,反之套用预设时字段面板也会同步刷新,两边始终保持一致。

Q5:表达式里的 ? 是什么意思?
?* 一样表示「任意值」,通常用在「日」和「周」字段中避免两者冲突。本工具解析时会把它当作任意值处理。

Q6:生成的 Python 代码可以直接跑吗?
生成的是基于 APScheduler 的 BackgroundScheduler 模板,需先 pip install apscheduler,并把 my_job 换成你自己的任务函数即可运行;5 位格式下各字段会按 minute、hour、day、month、day_of_week 映射。