近段时间对定时器用的比较多,就写了一个小的列子,记录自己的代码,也给需要的人点启发。
package testTime;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TestTiming {
public static void main(String[] args) {
Timer _timmerTask = null;
_timmerTask = new Timer();
Calendar calEnviron = Calendar.getInstance();
// 每天的00:00.am开始执行 24小时制
calEnviron.set(Calendar.HOUR_OF_DAY, 0);
//定时分钟
calEnviron.set(Calendar.MINUTE, 0);
// date为制定时间
Date dateSetter = new Date();
dateSetter = calEnviron.getTime();
// nowDate为当前时间
Date nowDateSetter = new Date();
System.out.println("nowDateSetter["+nowDateSetter+"]");
// 所得时间差为,距现在待触发时间的间隔
long intervalEnviron = dateSetter.getTime() - nowDateSetter.getTime();
if (intervalEnviron < 0) {
calEnviron.add(Calendar.DAY_OF_MONTH, 1);
dateSetter = calEnviron.getTime();
intervalEnviron = dateSetter.getTime() - nowDateSetter.getTime();
}
// 每24小时执行一次
_timmerTask.schedule(new TimerTask() {
@Override
public void run() {
runMethon();//写实现方法
}
}, intervalEnviron, 1L*1000 * 60);//多长时间运行一次 毫秒(1L*1000 * 60 * 60 * 24为1天)
}
private static void runMethon() {
System.out.println("开始任务");
}
}
注释都有,希望给需要的人点帮助!