← 返回工具箱

DEVELOPER / SCHEDULER

Cron 表达式生成器

生成和解析 Unix 5 段 Cron,查看未来 10 次实际运行时间。可以按浏览器本地时区检查传统 crontab,也可以切换 UTC 核对 Vercel 等云平台任务。

EXPRESSION

编辑表达式

快捷模板

CALCULATION

下一次运行不是逐分钟硬扫

先筛日期

解析器先按月份、日期和星期筛选日历日,再组合允许的小时与分钟;罕见的闰日任务也不需要每次输入都遍历几十万分钟。

跳过不存在的本地时刻

本地时区遇到夏令时跳过的时间时,会校验重新构造后的年月日和时分,避免把 02:30 静默改成 03:30。

语法通过不等于任务会成功

Cron 只决定调度时间。命令路径、环境变量、权限、锁、超时和平台时区仍需在真实运行环境验证。

RELATED TOOLS

查看全部工具 →

USE & REVIEW

Cron 表达式生成器常见问题

查看全部工具指南 →

这个工具支持 Unix 5 段还是 Quartz 6、7 段 Cron?

当前解析器按 Unix Crontab 的 5 段格式工作,顺序是分钟、小时、日期、月份、星期。Quartz 常在开头增加秒,并可能包含年份以及 ?、L、W、# 等扩展语法,两者不能直接混用。页面检测到 6、7 段或这些扩展字符时会明确提示,而不是假装解析成功。

日期和星期同时有限制时,为什么运行次数比预想多?

传统 Unix Cron 对“日期”和“星期”采用 OR 语义:两栏都不是通配符时,只要其中一栏匹配就会运行。例如 0 0 1 * MON 通常表示每月 1 日以及每个星期一,而不是只在恰逢星期一的 1 日运行。不同调度平台可能另有规则,上线前应查对应文档。

Vercel Cron 应按本地时间还是 UTC 查看?

Vercel Cron 的计划使用 UTC。编辑这类表达式时应把页面切到 UTC 模式,再根据业务所在地换算;不要直接把北京时间 09:00 写成 0 9 * * * 后期待它在北京时间上午执行。Linux 服务器则取决于系统与 Cron 守护进程配置,应在目标环境确认。

夏令时切换会怎样影响 Cron 任务?

按本地墙上时间运行时,春季跳过的一小时可能根本不存在,秋季回拨的一小时则可能出现两次。页面在本地模式会跳过不存在的时刻,但无法替代具体调度器的重复执行策略。涉及扣款、发信或结算的任务应使用幂等设计,并优先考虑 UTC。

*/5、1-5 和 1,3,5 分别是什么意思?

*/5 表示从该字段最小值开始每隔 5 个单位匹配;1-5 表示包含 1 到 5 的连续范围;1,3,5 表示只匹配列出的离散值。还可以组合成 1-20/3。工具也支持 JAN-DEC 与 SUN-SAT 英文缩写,并把星期 7 规范为星期日。

表达式有效,定时任务为什么仍然没有执行?

Cron 语法只决定计划时间。实际任务还可能因为服务器时区、环境变量、工作目录、文件权限、命令 PATH、并发锁、冷启动、平台超时或部署未生效而失败。先用页面确认下一次运行时间,再检查目标平台日志和手动运行结果;生产任务还应有失败告警与幂等保护。