Cron表达式使用说明

一个Cron表达式通常由6或7个时间字段组成(秒 分 时 日 月 周),通过这些字段的灵活组合来精确指定执行时间。

特殊字符

基础示例

需求 Cron表达式 (6字段格式) 说明
每天上午9点整 0 0 9 * * ? 每天09:00:00执行
每天上午9点和下午5点 0 0 9,17 * * ? , 逗号用于分隔多个时间点
周一到周五上午9:30 0 30 9 ? * MON-FRI - 短横线用于指定一个连续范围
每月15号中午12点 0 0 12 15 * ? 在日字段指定具体日期,相应的周字段使用?占位
每月最后一天晚上11点 0 0 23 L * ? L 是 "Last" 的缩写,在日字段中表示月份的最后一天
每年6月所有周三的13:15和13:45 0 15,45 13 ? 6 TUE 综合运用枚举、日期、月份和星期几等字段

指定范围

如果希望任务在某个时间段内高频执行,可以指定时间范围。例如,0 0/30 9-17 ? * MON-FRI 表示工作日"朝九晚五"的工作时间内,每隔30分钟执行一次。

执行一次

标准的Cron是为周期性任务设计的,但可以实现"仅执行一次"的效果。为此,可以设置一个在未来特定时间执行的Cron表达式,并在任务完成后将其禁用。例如,0 15 10 25 12 ? 2025 表示在2025年12月25日的上午10:15:00 仅执行一次。

注意事项

1、日期与星期的冲突(? 字符的使用):日和周字段共同决定了一个日期,为了避免逻辑冲突,不能同时精确指定这两个字段。必须在其中一个字段中设置具体值,另一个字段则必须使用?来规避矛盾。

2、各系统实现细节差异:不同系统对Cron表达式的实现可能略有差异。例如,星期字段的起始值,在Quartz库中1代表周日,7代表周六,但在某些系统中,1可能代表周一。因此,在实际应用时,务必以你所使用的工具或平台的官方文档为准。

相关推荐
十五喵源码网1 小时前
基于SpringBoot2+vue2的酒店客房管理系统
java·毕业设计·springboot·论文笔记
疯狂成瘾者1 小时前
Java 常用工具包 java.util
java·开发语言·windows
ywl4708120871 小时前
springSecurity+jwt,简单版demo
java·前端·servlet
SXJR2 小时前
spring boot + langchain4j +milvus实现向量存储
java·spring boot·后端·大模型·milvus·rag·langchain4j
武子康2 小时前
Java-27 深入浅出 Spring - 实现简易Ioc-03 在上节的业务下手动实现IoC 从 XML 配置到 BeanFactory 反射注入
java·后端·mybatis
二哈赛车手2 小时前
新人笔记---idea索引失效问题解决方案
java·笔记·spring·elasticsearch·intellij-idea
飞天狗1112 小时前
零基础JavaWeb入门——第五课第一小节:九大内置对象 · 第1个:request(请求对象)
java·开发语言·前端·后端·servlet
a15108416932 小时前
记一次大模型探索
java·服务器·前端
c++之路2 小时前
Bazel C++ 构建系列文档(五):多目标与多包项目
java·开发语言·c++