java的TimerTask定时任务每天5点执行怎么写
时间: 2023-07-04 19:04:19 浏览: 79
可以使用Java中的Timer和TimerTask类来实现定时任务,具体代码如下:
```
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimerTask extends TimerTask {
public void run() {
// 在这里编写需要执行的任务
System.out.println("定时任务执行了!");
}
public static void main(String[] args) {
Timer timer = new Timer();
Calendar calendar = Calendar.getInstance();
// 设置每天5点执行任务
calendar.set(Calendar.HOUR_OF_DAY, 5);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
// 如果当前时间已经过了5点,则在明天5点开始执行任务
if (calendar.getTimeInMillis() < System.currentTimeMillis()) {
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
// 启动定时任务
timer.schedule(new MyTimerTask(), calendar.getTime(), 24 * 60 * 60 * 1000);
}
}
```
在上述代码中,我们通过创建一个`Calendar`对象来设置任务执行的时间,然后使用`Timer`的`schedule`方法来启动定时任务,其中第一个参数为要执行的任务,第二个参数为任务的开始执行时间,第三个参数为任务的执行间隔。在本例中,因为我们只需要执行一次任务,所以间隔设置为24小时。