可视化设置分/时/日/月/周 5 个字段,支持通配符、范围、列表、间隔语法。实时显示表达式与接下来 5 次执行时间。
Cron 表达式是 Linux crontab、各类调度系统(Jenkins、Quartz、云函数定时触发器)通用的定时任务描述格式,由 5 个从左到右的字段组成:分钟(0-59)、小时(0-23)、日期(1-31)、月份(1-12)、星期(0-6,0 表示周日)。不想背语法的话,用本页的可视化方式生成:第一步,点击对应字段的标签页切换过去;第二步,选择该字段的模式——「每 X」(通配符)、「每 N 个单位」(步进)、「范围」(起止值)或「指定值」(可多选点选);第三步,顶部黑色条会实时拼出完整表达式,下方「接下来 5 次执行时间」立即预览未来触发点,确认无误后一键复制。
常用表达式可以直接从顶部预设栏取用:* * * * * 每分钟执行;0 * * * * 每小时整点;0 9 * * 1-5 工作日每天早上 9 点;*/5 * * * * 每 5 分钟一次;0 0 1 * * 每月 1 号零点。两个高频符号记住就够用:, 表示列表枚举(如 0,30 是每小时的第 0 和第 30 分),- 表示连续范围(如 9-17 是 9 点到 17 点)。看不懂表达式含义时,看黑色条下方的「表达式人话解读」卡,它实时把当前 5 个字段翻译成一句中文使用方法说明,调整任何字段都会同步刷新。
生成的表达式在哪里执行?数据安全吗?表达式复制后由你自己的 crontab 或调度系统执行,本页面不连接任何服务器。「接下来 5 次执行时间」的推算也完全在浏览器本地完成,你输入的内容不会被上传或存储。
表达式按什么时区执行?cron 本身不带时区信息,触发时间取决于执行环境的系统时区:Linux crontab 按服务器本地时区跑,云平台的定时触发器通常可在控制台单独配置时区。页面里的执行时间预览用的是你浏览器的本地时区,如果服务器时区不同(比如服务器是 UTC),需要自行换算偏移。
*/n 是什么意思?斜杠表示步进间隔。*/10 在分钟字段即「从 0 开始每 10 分钟」,也就是 0、10、20、30、40、50 分各触发一次;5-59/15 则表示「从第 5 分钟起每 15 分钟」,触发点是 5、20、35、50。起点可以是范围起点,不强制从 0 开始。单数字后跟步进(如 0/5)表示从该数字一直到字段最大值:*/5 与 0/5 均表示每 5 个单位(每 5 分钟),1/15 表示第 1、16、31、46 分。
@daily、@hourly 这些写法是什么?它们是 crontab 的简写别名:@hourly 等价 0 * * * *、@daily(即 @midnight)等价 0 0 * * *、@weekly 等价 0 0 * * 0、@monthly 等价 0 0 1 * *、@yearly 等价 0 0 1 1 *。本工具输出标准 5 字段格式,两者等效,用哪种取决于你的执行环境是否支持简写。
Quartz 6 段式表达式支持吗?本工具同时支持标准 5 段式与 Quartz 6 段式(自动识别):6 个字段时按 Quartz 解析(秒 分 时 日 月 周,星期 1=周日,支持 ? 占位符);L W # 等进阶特殊字符暂不支持。5 段输入仍按 Linux crontab 口径。把表达式粘贴到顶部输入框即可自动识别解析。
有没有办法把 cron 表达式翻译成中文?可以,表达式展示条下方的「人话解读」卡就是做这件事的:它把当前 5 个字段实时拼成一句中文(例如 0 9 * * 1-5 会显示「周一至周五 每天 09:00」),下方同时回显原始表达式方便对照复制,调整任何字段都会即时更新,全程在浏览器本地完成。