java定时任务每天六点
时间: 2023-07-18 18:22:14 浏览: 47
您可以使用Java中的ScheduledExecutorService类来实现定时任务。以下是一个例子:
```java
import java.util.Calendar;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ScheduledTask {
public static void main(String[] args) {
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
// 设置定时任务的时间
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
// 计算当前时间距离定时任务时间的时间差
long initialDelay = calendar.getTimeInMillis() - System.currentTimeMillis();
if (initialDelay < 0) {
// 如果当前时间已经超过了定时任务时间,则将定时任务时间设置为明天
calendar.add(Calendar.DAY_OF_MONTH, 1);
initialDelay = calendar.getTimeInMillis() - System.currentTimeMillis();
}
// 执行定时任务
scheduledExecutorService.scheduleAtFixedRate(() -> {
// 在这里执行定时任务的代码
System.out.println("定时任务执行了!");
}, initialDelay, 24 * 60 * 60 * 1000, TimeUnit.MILLISECONDS);
}
}
```
上面的代码将会在每天的6点执行一次定时任务。您可以在定时任务的代码块中编写您需要执行的业务逻辑。