@Scheduled cron 定时任务表达式含义用法及* ?的区别

本文详细解读了cron定时任务的表达式结构,包括秒、分钟、小时等各个维度的设置规则,并介绍了*、?、-和/等符号的用法。特别关注了日期与星期设置的互斥性和列表、范围的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

@Scheduled cron 定时任务表达式含义用法及* ?的区别

**

cron格式:【秒数】【分钟】【小时】【日期】【月份】【星期几】【年份(可省略)】
关于【日期】与【星期几】的说明:

1、【日期】与【星期几】两者为互斥的,不能同时设置。这个比较容易理解,假设日期设置为1,星期几也设置为1,那含义是什么:每月1日且为周一时触发,可能一年之中没用任何天能满足上述条件,更重要的是什么人能有这种xx的需求呢?

2、【日期】与【星期几】中任何一个设置值(包含 *),另一个必需使用 ?来进行屏蔽,此时 ?起到屏蔽的作用。

3、?只能出现在【日期】与【星期几】中,且不能同时出现

常用表达式符号说明:

"*" 表示任意值都满足触发条件

"," 表示列表项目的分割,如 秒数中设置 1,3,17,则表示秒数为1,3,17时满足触发条件

"-" 表示连续的列表范围,如 秒数中设置 1-5,则表示秒数为1到5时,均满足触发条件

"/" 正常的用法为 x/y,x表示触发的起始数值,y表示后续间隔,如 秒数中设置 5/20,则表示从第5秒开始触发,然后每隔20秒再循环触发(25、45,下次循环5、25、45…)

表达式分析:
10 * * * * ? 每10秒触发任务
10 10 * * * ? 每小时的10分10秒触发任务
10 10 1 * * ? 每天1点10分10秒触发任务
0 0 10,14,18 * * ? 每天10、14、18点触发任务
0 0/20 9-17 * * ? 每天9-17点,20分钟触发任务
0 * 12 * * ? 每天12:00-12:59期间的每1分钟触发
0 0/3 12 * * ? 在每天12:00-12:59期间的每3分钟触发
0 0-5 12 * * ? 在每天12:00-12:05期间的每1分钟触发

10 10 1 12 * ? 每月12号1点10分10秒触发任务
10 10 1 ? * 2 每周1的1点10分10秒触发任务

10 10 1 20 10 ? 2021 2021年10月20号1点10分10秒触发任务
10 10 1 * 10 ? 2021 2021年10月每天1点10分10秒触发任务
10 10 1 ? 10 * 2021 2021年10月每天1点10分10秒触发任务
10 10 1 ? 10 7 2021 2021年10月每周6 1点10分10秒触发任务

附:在线生成:https://cron.qqe2.com/

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值