Cron 表达式
解析 Cron 语义 + 预览未来 N 次执行时间,支持 5 / 6 段语法。
常用:
可视化构造
字段含义
- 分钟
- 0 — 0
- 小时
- 9 — 9
- 日
- * — 每日
- 月
- * — 每月
- 星期
- 1-5 — 1 到 5
第 0 分,9 点,周一-周五
未来执行时间
- 2026-09-09 09:00
- 2026-09-10 09:00
- 2026-09-11 09:00
- 2026-09-14 09:00
- 2026-09-15 09:00
- 2026-09-16 09:00
- 2026-09-17 09:00
- 2026-09-18 09:00
- 2026-09-21 09:00
- 2026-09-22 09:00
使用说明
用途
Cron 表达式在线生成、校验、可视化工具,支持 Linux crontab(5 字段)、Quartz / Spring(6-7 字段)两种格式,可视化拖拽配置分钟 / 小时 / 日期 / 月份 / 星期,自动生成对应 cron 字符串。反向粘贴 cron 表达式自动解析为人类可读描述(如 "每天上午 9 点执行")。同时显示未来 10 次执行时间,便于核对调度逻辑。常用于 Linux crontab、Spring @Scheduled、Quartz 定时任务、Kubernetes CronJob、GitHub Actions 等场景。所有计算在浏览器本地完成。
操作步骤
- 选格式:crontab(5 字段,最常用)/ Quartz(6 字段含秒)/ Spring 6 字段
- 可视化配置:拖拽选具体分钟 / 小时 / 日期 / 月 / 星期
- 工具实时生成对应 cron 表达式
- 反向:粘贴现有 cron 表达式,工具解析为可读描述
- 未来执行时间预览:列出未来 5 / 10 / 30 次执行时间
- 常用模板一键插入:每分钟 / 每小时 / 每天凌晨 / 每周一 / 每月 1 号
- 复杂表达式(步长 / 范围 / 列表)支持: */5 1-5 1,3,5
- 不同时区下执行时间预览
常见问题
- crontab 5 字段和 Quartz 6 字段有什么区别?
- **crontab(Linux)5 字段**: 分 时 日 月 星期。**Quartz(Java)6-7 字段**: 秒 分 时 日 月 星期 [年]。Quartz 多了"秒"字段(最短粒度 1 秒)和可选"年"字段。**Spring @Scheduled** 也用 6 字段。**注意**:Quartz 的"日"和"星期"不能同时具体指定(其中一个必须是 ? 或 *),否则报错。
- */5 * * * * 是每 5 分钟吗?
- 是。`*/5` = 步长 5,从 0 开始:0, 5, 10, ..., 55。**完整语法**:分 时 日 月 星期 = 每 5 分钟(一天 288 次)。**注意**:`*/5` 实际是从 0 起的,不是"任意起点每隔 5 分钟"。如果想从 03 开始每 5 分钟(3, 8, 13...),写 `3-59/5`。
- Spring @Scheduled 的 cron 怎么写?
- Spring 用 6 字段(秒 分 时 日 月 星期)。**每分钟**: `0 * * * * *`(秒 = 0,分用 *)。**每小时整点**: `0 0 * * * *`。**每天上午 9 点**: `0 0 9 * * *`。**注意星期**: Spring 用 0-7 表示星期天到星期六(0 和 7 都是周日),周一是 1。本工具的"Spring 模式"按此规则生成。
- 为什么我的 Kubernetes CronJob 没按时执行?
- 常见原因: 1) **时区**: K8s CronJob 默认 UTC,写 0 9 * * * 是 UTC 9 点(北京 17 点)。从 K8s 1.27 起支持 spec.timeZone 字段指定。2) **失效时间窗口**: K8s CronJob 错过 starting_deadline_seconds 后跳过执行。3) **并发策略**: concurrencyPolicy=Forbid 时上次任务未结束就跳过。4) **Pod 调度**: 节点资源不足导致 Pod 不能启动。
- Linux crontab 怎么测试不等到时间?
- **直接执行命令**: 把 cron 行后面的命令复制到终端跑一遍,确认能成功(很多 cron 失败是因为环境变量不同 / 路径不对)。**修改时间**: 改 crontab 时间到几分钟后等待。**用本工具的"未来执行时间"功能**: 不用手动算,直接看下次什么时候。
应用场景
- Linux crontab 系统任务:备份脚本 / 日志清理 / 监控告警
- Spring @Scheduled:业务定时任务(订单超时检查 / 报表生成)
- Quartz 调度:复杂业务调度(变频任务 / 时区相关)
- Kubernetes CronJob:容器化定时任务(数据同步 / 健康检查)
- GitHub Actions schedule:定时构建 / 文档发布
适用场景
Linux crontab、Spring Scheduled、Quartz、K8s CronJob、GitHub Actions schedule。后端、运维、DevOps、SRE 常用。多格式支持、可视化生成、未来执行预览、跨时区显示是关键差异点。