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可能代表周一。因此,在实际应用时,务必以你所使用的工具或平台的官方文档为准。

相关推荐
小羊没烦恼!4 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里4 天前
java中的继承和多态的区别
java
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕4 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码4 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖4 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时4 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang4 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi4 天前
mysql 查询所有表名并授权
java
ProcessOn官方账号4 天前
java函数式编程--入门基础
java·编程·函数式编程