首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Timer计时器解决方法

2013-10-06 
Timer计时器我想从2013年9月30日开始,每隔一个月重复执行一个函数,请问用java的Timer计时器应该怎么写?[解

Timer计时器
我想从2013年9月30日开始,每隔一个月重复执行一个函数,请问用java的Timer计时器应该怎么写?
[解决办法]



public class MyTimer {
public static class MyTask extends TimerTask{
/* 
 * 定时任务
 */
public void run() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("--------" + sdf.format(new java.util.Date()));
}

}

public static void main(String[] args){
Timer timer = new Timer();
//设置开始执行任务的时间
Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY, 11);
        cal.set(Calendar.MINUTE, 34);
        cal.set(Calendar.SECOND, 0);
        Date date = new Date();
        date = cal.getTime();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sdf.format(date));
        
        Date now = new Date();
        long interval = date.getTime() - now.getTime();
        if (interval < 0) {
            cal.add(Calendar.DAY_OF_MONTH, 1);
            date = cal.getTime();
            interval = date.getTime() - now.getTime();
        }       
        System.out.println("the interval time is: " + interval);
        //2013-10-05 11:34:00后执行定时执行任务,每两秒执行一次,开始执行任务的时间可以设置
        timer.schedule(new MyTask(), interval, 2 * 1000);
}

}

热点排行