预设模式
每分钟执行一次,对应表达式为 * * * * *,适合监控、心跳上报等高频任务。
常用模板
点一下即载入生成器并显示描述Cron 表达式
* * * * *
格式为「分钟 小时 日 月 星期」;星期 0/7 都表示周日。也可以用 JAN-DEC、SUN-SAT 这类英文缩写。
下次执行时间
按所选时区,最多列出接下来 10 次
触发时刻按所选时区的钟面时间计算(夏令时自动处理);cron 表达式本身不带时区,部署后以服务器时区为准。输出格式为「分钟 小时 日 月 星期」。
(表达式无效,暂无可用时间)
粘贴解析
把现成的 cron 表达式粘进来查看含义;点「应用到生成器」可回填到上方可视化面板功能特性
- 六种预设一步到位:每分钟、每小时、每天、每周、每月,选完即出表达式,无需记忆字段顺序。
- 自定义模式按 分钟/小时/日/月/星期 五个字段逐项构建,支持 *、步长 */n、区间 a-b、列表 a,b,c 及英文缩写 MON/JAN 等写法。
- 实时校验:每个字段越界或语法错误立即标出,表达式下方同步给出任务含义的中文描述。
- 下次执行时间预览:按本地时区列出接下来 10 次触发时刻,直接确认计划是否符合预期。
- 一键复制表达式;常用配置保存在浏览器本地,下次打开自动恢复。
- 纯前端本地计算:不发送任何数据到服务器,界面支持简体 / 繁體 / English。
使用方法
- 先选预设:每天 08:30 → 选「每天」,小时选 8,分钟选 30,底部即出表达式 30 8 * * *。
- 每周 一至周五 09:00 → 选「每周」,点选星期 一~五,小时选 9,分钟选 0,得到 0 9 * * 1-5。
- 需要任意间隔(如每 10 分钟、凌晨 2 点开始每 3 小时)时切到「自定义」,把对应字段设为步长 */10、2-23/3 即可。
- 确认「下次执行时间」列表中的时刻符合预期后点「复制」,把表达式粘到 crontab / Quartz / 云函数等调度器里。
常见问题
- 五个字段分别代表什么?
- 依次是 分钟(0-59)、小时(0-23)、日(1-31)、月(1-12)、星期(0-7,0 与 7 都代表周日)。Linux crontab 与 Quartz 都采用这个顺序;注意 Quartz 还支持第 6 个「秒」字段,本工具生成的是标准 5 字段表达式,需要秒级调度时可在后面补上 0 或 *。
- 步长 */5 和范围 10-20 是怎么写的?
- */n 表示「从允许的最小值开始,每隔 n 个单位取一个」(*/5 即 0,5,10,…,55);a-b 表示闭区间内每个值都取;a-b/n 表示从 a 开始每隔 n 个取到 b。多个写法可用逗号组合,如 0,15,30,45 或 1-5,10-20。用「自定义」模式的按钮即可生成,无需手写。
- 日与星期同时限制时怎么生效?
- 在标准 5 字段 cron 里,日与星期遵循传统 Vixie 语义:两个字段都是 * 时每天匹配;其中一个是 *,则只按另一个字段限制;只有两个字段都有限制时才是「或」的关系(任一匹配即触发)。例如 0 12 13 * 5 表示「每月 13 日 12:00」与「每周五 12:00」都会执行,而 0 12 * * 5 只在周五执行。若你期望「且」关系(如每月 13 日且恰好是周五),需要在程序里自行判断,或用 Quartz 的 ? 语法——本工具按传统 crontab 语义解析。
- 下次执行时间是按什么时区算的?
- 按你设备当前的本地时区计算。cron 表达式本身不携带时区信息,部署到服务器后实际生效时区由该服务器的 TZ 环境决定,跨时区部署时请以服务器时区为准重新核对触发时刻。
- 我的表达式或配置会被上传吗?
- 不会。表达式解析、校验、描述生成与时间计算全部在浏览器内完成,本页是纯静态页面、没有任何后端接口,配置只保存在你自己设备的 localStorage 里以便下次恢复,本站服务器看不到任何输入。
关于本工具
Cron 表达式生成器把常见的定时任务需求做成可视化面板:预设覆盖 分钟/小时/天/周/月 五种粒度,自定义模式支持 *、步长、范围、列表与英文缩写,生成的同时给出人话描述与接下来 10 次触发时间,避免「表达式写对了但触发时刻不是想要的」这类问题。
全套逻辑为浏览器端 JavaScript 实现(标准 5 字段语义,日/星期按传统 crontab 的「或」关系处理),无后端、无第三方 API,界面支持简体 / 繁體 / English。
站内其他工具
纯前端计算 · 标准 5 字段 cron · 免费 · 支持中/繁/英