Cron 表达式解析器

解析Cron表达式,计算下次运行时间、最近运行时间,生成人类可读描述

🔒 数据本地处理,不上传服务器
Ad Space

什么是 Cron 表达式?

Cron表达式是一种用于定义定时任务执行时间的字符串格式,最早出现在Unix系统的cron守护进程中,如今已广泛应用于各类调度系统(如Linux crontab、Quartz、Airflow、Kubernetes CronJob等)。一个标准的Cron表达式由5个字段组成,分别表示分钟、小时、日期、月份、星期,通过特殊符号组合可以表达几乎任何时间规律。

Cron 表达式语法详解

标准Cron表达式包含5个字段,字段之间用空格分隔:

# 格式:分 时 日 月 周
# 示例:
*/5 * * * *      # 每5分钟执行一次
0 9 * * 1-5      # 周一到周五早上9点执行
0 0 1 * *        # 每月1号零点执行
30 2 * * 0       # 每周日凌晨2:30执行
0 */2 * * *      # 每2小时执行一次

各字段取值范围

特殊符号含义

常见使用场景

场景一:系统运维任务

定期执行备份、日志清理、系统监控等运维任务。例如 0 2 * * * 表示每天凌晨2点执行数据库备份。

场景二:数据处理任务

定时执行数据同步、报表生成、ETL任务等。例如 0 8 * * 1 表示每周一早8点生成上周数据报表。

场景三:应用定时任务

Web应用中的定时任务,如定时发送邮件、清理过期会话、更新缓存等。

Cron 表达式注意事项

常见问题

Cron表达式最小粒度是多少?
标准Cron表达式最小粒度是分钟级。如果需要秒级精度,可以使用Quartz框架的6字段或7字段扩展格式(增加秒和年字段)。
日期和星期同时指定时如何生效?
当日期和星期字段都指定了具体值(非*)时,两者是'或'的关系,满足任一条件就会触发。这是Cron的经典设计,使用时需特别注意。
Cron支持哪些特殊符号?
标准Cron支持*(任意)、,(列表)、-(范围)、/(步长)四种符号。Quartz等扩展格式还支持?、L、W、#等符号,功能更强大。
如何设置工作日(周一到周五)执行?
使用星期范围:0 9 * * 1-5 表示周一到周五每天早9点执行。其中1代表周一,5代表周五,范围用'-'连接。
Cron执行的时区是怎样的?
Cron任务按照服务器的本地时区执行。如果服务器时区不是你期望的时区,可以通过设置CRON_TZ环境变量(部分系统支持)或调整服务器时区来解决。
*/5和0/5有什么区别?
在分钟字段中,*/5和0/5效果相同,都表示从0开始每5分钟执行。但在其他字段可能不同,如小时字段*/2和0/2都表示从0点开始每2小时。*号本质上是起始点为字段最小值的简写。

🏷️ 相关标签

隐私安全计算器开发者工具Web开发在线工具代码工具计算工具集时间日期