Cron 表达式生成器

可视化配置定时任务表达式

Cron 表达式
* * * * * *
执行含义
在每小时的每分钟的每秒,每天,每月,每周
每秒
每秒
指定秒
范围
间隔
每分钟
每分钟
指定分钟
范围
间隔
每小时
每小时
指定小时
范围
间隔
每天
每天
指定天
范围
间隔
每月
每月
指定月
范围
间隔
每周
每周
指定周
范围
间隔
未来执行时间示例
显示
2026-06-02 01:29:52
2026-06-02 01:29:53
2026-06-02 01:29:54
2026-06-02 01:29:55
2026-06-02 01:29:56
解析已有 Cron 表达式

Cron表达式生成器 - 在线可视化创建定时任务规则

什么是Cron表达式生成器?

Cron表达式生成器是一款在线可视化工具,通过图形界面配置定时任务的执行规则,自动生成标准的Cron表达式。支持秒级精度、多时间段设置、下次执行时间预览,帮你告别手写Cron表达式时反复查表的痛苦。

"0 0 2 * * ?"是什么意思?每隔5分钟怎么写?每月最后一天怎么表示?Cron表达式语法简洁但不够直观,一个符号写错就可能导致任务在错误的时间执行。可视化生成器让你点几下就能生成正确的表达式。

Cron表达式语法

标准Cron表达式由6或7个字段组成,从左到右依次为:

  • (0-59):可选字段,Spring等框架支持
  • (0-59):每小时的第几分钟执行
  • (0-23):每天的第几小时执行
  • (1-31):每月的第几天执行
  • (1-12):每年的第几月执行
  • (0-7):每周的第几天执行,0和7都表示周日

特殊符号:*表示任意值,?表示不指定,-表示范围,/表示步长,,表示枚举,L表示最后,W表示工作日,#表示第几个星期几。

常用Cron表达式

每分钟执行

0 * * * * ?

每天凌晨2点

0 0 2 * * ?

每周一上午9点

0 0 9 ? * 1

使用步骤

  1. 选择执行频率(每秒/每分/每时/每天/每周/每月/每年)
  2. 在可视化面板中配置具体时间和间隔
  3. 查看自动生成的Cron表达式
  4. 确认下次执行时间列表是否符合预期
  5. 复制表达式到你的定时任务配置中

典型应用场景

  • 数据备份:每天凌晨自动备份数据库和文件
  • 报表生成:每小时/每天定时生成业务报表
  • 缓存清理:每周清理过期的缓存数据
  • 消息推送:定时推送通知和提醒
  • 数据同步:定时从外部系统同步数据

技术实现

生成器将用户在可视化面板中的配置转换为标准Cron表达式。同时内置了Cron表达式解析器,能够计算从当前时间起的未来N次执行时间,帮助你验证表达式是否正确。

支持Spring、Quartz、Linux crontab等常见Cron方言。不同框架的Cron表达式略有差异(如是否支持秒字段),工具会根据选择自动调整格式。

常见问题

日和周字段可以同时指定吗?

不能同时指定。当指定了日字段时,周字段必须设为?;反之亦然。这是Cron语法的硬性规则,避免歧义。在可视化面板中,选择其中一个时另一个会自动设为?。

Spring和Linux的Cron有什么区别?

Spring的Cron表达式支持秒字段(6或7位),Linux crontab不支持秒(5位)。Spring还支持L、W、#等扩展符号。使用时请选择对应框架,工具会自动调整格式。

每月最后一天怎么表示?

使用L符号。例如"0 0 2 L * ?"表示每月最后一天的凌晨2点执行。L会自动适配不同月份的天数(28/29/30/31)。

下次执行时间预览准确吗?

准确。预览基于Cron表达式的精确计算,考虑了月份天数、闰年等因素。但实际执行时间还受服务器时钟精度和任务调度器实现的影响,可能有毫秒级偏差。

0 0/5 * * * ?和0 */5 * * * ?一样吗?

效果相同,都表示每5分钟执行一次。0/5表示从第0分钟开始每5分钟,*/5表示每隔5分钟。在大多数实现中两者行为一致,但0/5更明确。

时区怎么处理?

Cron表达式本身不包含时区信息。执行时间取决于服务器的系统时区。如果你的服务器在UTC+8,表达式中写2点就是北京时间凌晨2点。跨时区部署时需特别注意。

本文介绍了Cron表达式生成器的功能、语法说明和使用方法,帮助你可视化创建定时任务规则。