Cron 表达式生成器

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

Cron 表达式
* * * * * *
执行含义
在每小时的每分钟的每秒,每天,每月,每周
秒
每秒
每秒
指定秒
范围
间隔
分
每分钟
每分钟
指定分钟
范围
间隔
时
每小时
每小时
指定小时
范围
间隔
日
每天
每天
指定天
范围
间隔
月
每月
每月
指定月
范围
间隔
周
每周
每周
指定周
范围
间隔
未来执行时间示例
显示 次
2026-10-18 08:48:28
2026-10-18 08:48:29
2026-10-18 08:48:30
2026-10-18 08:48:31
2026-10-18 08:48:32
解析已有 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表达式生成器的功能、语法说明和使用方法,帮助你可视化创建定时任务规则。