@Scheduled,cron设置多个时间点,每天的16:00、16:10、16:20、16:30、20:00、23:30
时间: 2024-09-30 09:03:56 浏览: 27
`@Scheduled` 是Spring框架中的一个注解,用于标记一个方法需要按照指定的时间表进行调度。在Java中,如果想要设置一个任务每天在特定时间运行,比如每天的16:00、16:10、16:20、16:30、20:00和23:30,你可以使用cron表达式来配置。cron表达式是一种标准的、详细的描述时间序列的语法。
对于你的需求,对应的cron表达式可以设置为:
```bash
0 16 * * * ? // 每天16:00
5 16 * * * ? // 每天16:10
10 16 * * * ? // 每天16:20
15 16 * * * ? // 每天16:30
0 20 * * * ? // 每天20:00
30 23 * * * ? // 每天23:30
每个字段代表:
- 第一秒(0-59)
- 分钟(0-59)
- 小时(0-23)
- 月份中的日期(1-31)
- 月份(1-12)
- 星期几(0 - 7,其中0和7都表示星期日)
- '?' 表示星期几都可以匹配(默认为 *)
```
将这个表达式应用到`@Scheduled`上,例如:
```java
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class MyTask {
@Scheduled(cron = "0 16 * * * ? , 5 16 * * * ? , 10 16 * * * ? , 15 16 * * * ? , 0 20 * * * ? , 30 23 * * * ?")
public void executeDailyTasks() {
// 你的业务逻辑代码
}
}
```
在这个例子中,`executeDailyTasks`方法会在指定的时间自动执行。
阅读全文