123问免费工具与知识服务
123问工具大全› 工具大全› 开发工具› Cron表达式解析

🕐 Cron表达式解析

表达式翻译 · 自然语言 · 未来执行时间

Cron表达式解析常见问题

Cron表达式的基本格式是什么?

标准Unix Cron格式为5个字段:分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-7,0和7都表示周日)。例如"0 0 * * *"表示每天凌晨执行。

Cron支持哪些特殊字符?

星号(*)表示所有值;逗号(,)表示多个值如1,3,5;连字符(-)表示范围如1-5;斜杠(/)表示步进如*/15表示每15分钟;问号(?)在非标准格式中表示不指定。

为什么我填了表达式但提示错误?

请检查是否严格按照"分 时 日 月 周"的5字段格式,各字段用空格分隔。每分钟执行一次用"* * * * *"。

日字段和周字段可以同时设置吗?

标准Cron里日和周的取值是「或」的关系,即任一条件满足就执行。某些实现(如Quartz)要求两者至少一个用问号(?),否则会提示冲突。

Cron和Quartz Cron有什么区别?

标准Cron 5个字段,Quartz则扩展为6-7个字段,多了秒和年。例如Quartz的"0 0 6 * * ?"表示每天6点整。本工具按标准5字段解析。

"0 0 12 * * ?" 和 "0 0 12 * * *" 一样吗?

在标准5字段Cron里没有问号的位置差异,但?和*在周字段都能表示「任意」。区别在于?在有些系统里表示「不指定」,与日期字段配合时更明确。

怎么让任务每2小时执行一次?

用步进斜杠:"0 */2 * * *" 表示每2小时的整点执行。注意步进的起点,*/2从0点开始,即0、2、4...22点执行。

Cron表达式里的时间用什么时区?

系统Cron默认使用服务器本地时区。如果你的服务器是UTC而业务是国内时间,需要换算或用 TZ 环境变量指定时区,否则执行时间可能差8小时。

Cron表达式解析 - 示例演示

示例一:每天凌晨定时备份

输入:表达式:0 2 * * *
结果:每天凌晨 02:00 执行一次,字段解析为:分=0、时=2、日=每天、月=每月、周=任意
备份、日志清理这类任务通常放在凌晨服务器空闲时段执行,避免影响业务。

示例二:工作日早上09:30提醒

输入:表达式:30 9 * * 1-5
结果:每周一至周五的 09:30 执行,周字段 1-5 表示周一到周五
工作日提醒任务常用这种写法,注意很多系统周字段1=周一、0或7=周日。

示例三:每15分钟拉取一次数据

输入:表达式:*/15 * * * *
结果:每15分钟执行一次,即 0分、15分、30分、45分各执行一次
高频数据同步、心跳检测常用*/15或*/5的步进写法,注意别太频繁以免打爆上游接口。

Cron表达式解析深度解读

Cron 5个字段分别控制什么?

Cron表达式由5个用空格分隔的字段组成,从左到右依次是:分、时、日、月、周。每个字段都有自己的取值范围,理解这些范围就不会写错。

Cron 字段取值范围
字段含义取值范围说明
第1段分钟0-59每小时的第几分钟
第2段小时0-23每天的第几小时
第3段日1-31每月的第几天
第4段月1-12每年的第几月
第5段周0-7每周的第几天,0和7都是周日

特殊字符怎么组合使用

  • 星号 *:代表该字段的所有合法值,如 时字段用*表示每小时。
  • 逗号 ,:列举多个值,如 "1,3,5" 表示第1、3、5分钟。
  • 连字符 -:表示范围,如 "9-18" 表示9到18点。
  • 斜杠 /:表示步进,如 "*/10" 表示每10个单位,"/5 在分字段=每5分钟"。
  • 问号 ?:在部分系统中表示「不指定」,只能用于日或周字段。

组合示例:"0 8,12,18 * * *" 在8点、12点、18点各执行一次;"0 */2 * * *" 每2小时执行。

常见已用表达式的含义

  • * * * * *:每分钟执行。
  • */5 * * * *:每5分钟执行。
  • 0 0 * * *:每天0点执行。
  • 0 0 * * 0:每周日0点执行。
  • 0 0 1 * *:每月1日0点执行。
  • 0 0 1 1 *:每年1月1日0点执行。
  • 30 8 * * 1-5:工作日早上8:30执行。
  • 0 0,12 * * *:每天0点和12点执行。

把这些表达式拿去本工具解析,能直观看到每一步对应的自然语言描述和未来执行时间,方便验证自己的理解是否正确。

写Cron常见的坑

  • 周字段的1到底是周一还是周日,不同系统约定不同,务必确认。
  • 日和周字段同时指定时,大多是「或」的关系,容易误以为必须同时满足。
  • 时区问题:服务器UTC和本地北京时间差8小时,任务会「错位」执行。
  • 步进起点:*/5有效,但"5/15"表示从第5分钟开始每15分钟,即5、20、35、50分。
  • 字段数量:标准Cron是5段,Quartz是6-7段,别混用。

Cron表达式解析参考数据

常用Cron表达式速查

表达式含义频率
* * * * *每分钟执行1分钟
*/5 * * * *每5分钟执行5分钟
*/30 * * * *每30分钟执行30分钟
0 * * * *每小时整点执行1小时
0 */2 * * *每2小时整点执行2小时
0 0 * * *每天0点执行每天
0 8 * * *每天8点执行每天
0 0 * * 0每周日0点执行每周
0 0 1 * *每月1日0点执行每月
0 0 1 1 *每年1月1日执行每年
30 8 * * 1-5工作日8:30执行工作日
0 0,12 * * *每天0点和12点每天2次

Cron vs Quartz 字段对比

字段标准Cron(5段)Quartz(7段)
秒无第1段 0-59
分第1段 0-59第2段 0-59
时第2段 0-23第3段 0-23
日第3段 1-31第4段 1-31
月第4段 1-12第5段 1-12
周第5段 0-7第6段 1-7
年无第7段 可选

使用说明

使用方法

1. 在输入框中输入标准5字段Cron表达式。

2. 查看自然语言翻译和执行周期说明。

3. 查看未来5次执行时间。

分享工具: Facebook Twitter 微博 复制链接