java定时器 每天12点 固定执行一个方法

如题所述

可以使用timer的schedule方法实现定时任务,例如:把下面的new Date()参数换为你要定时的时间,创建一个线程执行你的任务

public class 定时 {

public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new myTest(), new Date());
}
}

class myTest extends TimerTask {

@Override
public void run() {
//你要执行的任务
}
System.out.println(hour + ":" + fen + ":" + sec + ":" + i);

}

修改一下就可以了
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-11
Calendar cal = Calendar.getInstance();
//每天定点执行
cal.set(Calendar.HOUR_OF_DAY,12);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
//执行的内容
}
},cal.getTime(), 24*60*60*1000);追问

我在一个类里面 有个 run(){
//有我执行的内弄
} 这个定时器是写在哪里的? 我的项目中没有main 方法 只要tomcat 启动 就调用 此方法 我想知道这个定时器写在哪里? 同一个类里面吗?

追答

如果要是web项目,你需要创建一个Servlet,把定时器写在Servlet中,这个Servlet在tomcat启动的时候就执行,这个Servlet不需要被访问

本回答被提问者采纳