@Scheduled 每周星期六 下午4点执行
时间: 2024-09-14 16:17:27 浏览: 28
SpringBoot执行定时任务@Scheduled的方法
5星 · 资源好评率100%
在Spring框架中,`@Scheduled`注解用于配置定时任务的执行。如果你想要一个任务每周六下午4点执行,你需要使用 cron 表达式来指定这个时间。cron 表达式是一个字符串,它由六或七个空格分隔的时间字段组成,分别表示:
```
秒 分 时 日 月 周几 年(可选)
```
对于每周六下午4点执行的任务,cron 表达式可以写成 `"0 0 16 ? * SAT *"`。这里的各字段含义如下:
- `0 0`:表示在小时和分钟的开始时刻,即下午4点整。
- `16`:小时数,使用24小时制,因此16代表下午4点。
- `?`:日和周几之间使用`?`,因为它们是互斥的,不能同时指定。在这个例子中,我们只需要指定周几。
- `* SAT`:`*`表示任意值,`SAT`代表星期六。
- 最后一个`*`是年份,代表任意年。
注意:这里假设系统服务器的时区设置是正确的,即为UTC+8时区。如果你的服务器位于不同的时区,你可能需要根据时区调整时间。
将这个cron表达式应用到Spring的`@Scheduled`注解上,就可以配置你的任务了:
```java
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class ScheduledTasks {
@Scheduled(cron = "0 0 16 ? * SAT *")
public void runScheduledTask() {
// 这里编写你想在每周六下午4点执行的逻辑
}
}
```
阅读全文