Quartz Cron 表达式有哪些参数和用法?
摘要:目录 基础语法 字段说明 特殊字符说明 常用时间表达式 业务场景案例 复杂表达式示例 注意事项 在线工具 基础语法 Quartz Cron表达式由6个字段组成(从左到右): 秒 分钟 小时 日期 月份 星期 * * * * * * 字段范围
目录
基础语法
字段说明
特殊字符说明
常用时间表达式
业务场景案例
复杂表达式示例
注意事项
在线工具
基础语法
Quartz Cron表达式由6个字段组成(从左到右):
秒 分钟 小时 日期 月份 星期
* * * * * *
字段范围
字段
允许值
允许的特殊字符
秒
0-59
, - * /
分钟
0-59
, - * /
小时
0-23
, - * /
日期
1-31
, - * ? / L W C
月份
1-12 或 JAN-DEC
, - * /
星期
1-7 或 SUN-SAT
, - * ? / L C #
字段说明
时间字段
秒:0-59,支持精确到秒的控制
分钟:0-59,一小时内的分钟数
小时:0-23,24小时制
日期:1-31,月份中的第几天
月份:1-12,一年中的第几个月
星期:1-7,星期几(1=周日,7=周六)
月份名称缩写
JAN=1, FEB=2, MAR=3, APR=4, MAY=5, JUN=6
JUL=7, AUG=8, SEP=9, OCT=10, NOV=11, DEC=12
星期名称缩写
SUN=1, MON=2, TUE=3, WED=4, THU=5, FRI=6, SAT=7
特殊字符说明
* 通配符
表示该字段的所有可能值
# 每秒执行
* * * * * *
# 每分钟执行
0 * * * * *
? 不指定值
只能用于日期和星期字段,表示不关心该字段的值
# 每天执行(不关心星期几)
0 0 12 * * ?
# 每周一执行(不关心日期)
0 0 12 ? * MON
- 范围
表示一个范围
# 工作日9-17点每小时执行
0 0 9-17 * * MON-FRI
# 每年1-6月执行
0 0 12 1 1-6 ?
, 列举
表示列举多个值
# 每天8点、12点、18点执行
0 0 8,12,18 * * ?
# 周一、周三、周五执行
0 0 12 ? * MON,WED,FRI
/ 增量
表示起始值/增量
# 从0秒开始,每5秒执行一次
0/5 * * * * ?
# 从第1分钟开始,每2分钟执行一次
0 1/2 * * * ?
L 最后
用于日期和星期字段
# 每月最后一天
0 0 12 L * ?
# 每月最后一个周五
0 0 12 ? * FRIL
W 工作日
最接近指定日期的工作日
# 每月15号最近的工作日
0 0 12 15W * ?
# 第几个
用于星期字段,表示第几个星期几
# 每月第2个周一
0 0 12 ? * MON#2
# 每月第3个周五
0 0 12 ? * FRI#3
常用时间表达式
基础时间间隔
每秒执行
* * * * * *
每分钟执行
0 * * * * *
每小时执行
0 0 * * * *
每天执行
# 每天凌晨12点
0 0 0 * * ?
# 每天早上6点
0 0 6 * * ?
# 每天中午12点
0 0 12 * * ?
# 每天晚上11点30分
0 30 23 * * ?
每周执行
# 每周一早上9点
0 0 9 ? * MON
# 每周五下午5点
0 0 17 ? * FRI
# 每周日晚上8点
0 0 20 ? * SUN
每月执行
# 每月1号早上8点
0 0 8 1 * ?
# 每月15号中午12点
0 0 12 15 * ?
# 每月最后一天晚上11点
0 0 23 L * ?
每年执行
# 每年1月1日凌晨
0 0 0 1 1 ?
# 每年12月25日上午10点
0 0 10 25 12 ?
固定间隔执行
秒级间隔
# 每5秒执行一次
0/5 * * * * ?
# 每10秒执行一次
0/10 * * * * ?
# 每30秒执行一次
0/30 * * * * ?
分钟级间隔
# 每2分钟执行一次
0 0/2 * * * ?
# 每5分钟执行一次
0 0/5 * * * ?
# 每15分钟执行一次
0 0/15 * * * ?
# 每30分钟执行一次
0 0/30 * * * ?
小时级间隔
# 每2小时执行一次
0 0 0/2 * * ?
# 每3小时执行一次
0 0 0/3 * * ?
# 每6小时执行一次
0 0 0/6 * * ?
# 每12小时执行一次
0 0 0/12 * * ?
业务场景案例
系统维护
数据库备份
# 每天凌晨2点备份数据库
0 0 2 * * ?
# 每周日凌晨3点全量备份
0 0 3 ? * SUN
# 每月1号凌晨1点备份
0 0 1 1 * ?
日志清理
# 每天凌晨
