java写定时任务,每天下午四点执行操作
时间: 2023-10-19 21:06:36 浏览: 36
可以使用Java中的Timer和TimerTask类来实现定时任务,具体步骤如下:
1. 创建一个继承自TimerTask的类,重写其run()方法,将要执行的操作写在其中。
2. 在程序入口处,创建一个Timer对象,并调用其schedule()方法,传入上一步创建的TimerTask对象和执行时间。
代码示例:
```java
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
public class DailyTask {
public static void main(String[] args) {
Timer timer = new Timer();
// 获取当前时间
Calendar now = Calendar.getInstance();
// 设置执行时间为下午四点
now.set(Calendar.HOUR_OF_DAY, 16);
now.set(Calendar.MINUTE, 0);
now.set(Calendar.SECOND, 0);
// 如果当前时间已经过了四点,则将执行时间设置为明天四点
if (now.getTimeInMillis() < System.currentTimeMillis()) {
now.add(Calendar.DATE, 1);
}
// 执行定时任务
timer.schedule(new MyTask(), now.getTime(), 24 * 60 * 60 * 1000);
}
}
class MyTask extends TimerTask {
@Override
public void run() {
// 执行操作
System.out.println("每天下午四点执行操作");
}
}
```
上述代码中,首先创建了一个Calendar对象now,将其设置为当天下午四点。然后判断当前时间是否已经过了四点,如果是则将执行时间设置为明天四点。最后创建一个Timer对象,并调用其schedule()方法执行定时任务,传入MyTask对象和执行时间。每当定时任务执行完成后,会隔24小时后再次执行。