用java写一个定时器;在每天10点执行任务;给一个代码例子
时间: 2023-06-02 09:03:54 浏览: 81
好的,这是一个Java定时器的代码,可以在每天10点执行任务:
```
import java.util.*;
public class TimerDemo {
public static void main(String[] args) {
Timer timer = new Timer();
// 设置定时任务
timer.schedule(new TimerTask() {
public void run() {
// 在此处编写需要定时执行的任务代码
System.out.println("任务执行中...");
}
}, getDelay(), 24 * 60 * 60 * 1000L); // 每隔一天执行一次,单位为毫秒
}
// 获取延迟时间,即距离每天10点还有多少时间
private static long getDelay() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 10); // 设置为每天的10点
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
// 如果当前时间已经超过10点,则定时任务明天开始执行
if (calendar.getTimeInMillis() < System.currentTimeMillis()) {
calendar.add(Calendar.DATE, 1);
}
return calendar.getTimeInMillis() - System.currentTimeMillis();
}
}
```
这个代码会在每天的10点执行定时任务。当然,如果需要执行其他时间的定时任务,只需要修改`getDelay()`方法中的时间即可。