public class TimerRun extends TimerTask {
    static Logger logger = Logger.getLogger(TimerRun.class);
    private static long runTimes = 0;
    ///private static boolean isTime = false;//是否定时了
    private static boolean isRunning = false;
    private static java.util.Timer timer;
    private static int interval = 1000 * 60 * 10;       //10分钟一次    public static void startTimer() {
        if (!isRunning) {
            timer = new Timer();
            //第一个参数是多少毫秒后启动,第二个参数是两次执行的间隔时间
            timer.scheduleAtFixedRate(new TimerRun(), 1000, interval);    //1秒后运行
            isRunning = true;
            logger.info("\n定时程序正常启动,执行间隔时间:" + (interval / 60 / 1000) + " minutes。");
        }
    }    public static void stopTimer() {
        if (isRunning) {
            logger.info("\n定时程序停止。");
            timer.cancel();
            isRunning = false;
        }
    }    public synchronized void run() {
//          你的工作
    }
}

解决方案 »

  1.   

    timer~~看看~api,或者google上查下~呵呵
      

  2.   

    import java.util.Calendar;
    import java.util.Timer;
    import java.util.TimerTask;public class TimerTest
    {
    /**
     * @param args
     */
    public static void main(String[] args)
    {
    Calendar c=Calendar.getInstance();
    /**
     * 设置时间为2006年12月14日零时。
     */
    c.set(Calendar.YEAR, 2006);
    c.set(Calendar.MONTH,Calendar.SEPTEMBER);
    c.set(Calendar.DATE, 14);
    c.set(Calendar.HOUR_OF_DAY,0);
    c.set(Calendar.MINUTE, 0);
    c.set(Calendar.SECOND, 0);
    System.out.println(c.getTime());
    /**
     * 定义一个定时器timer,调用timer的schedule方法
     * c.getTime()定时器第一次执行MyTimerTask中的任务的时间
     * 1秒执行一次MyTimerTask的run方法,如果是一天就是1000*60*60*24,如果是一个星期就是1000*60*60*24*7
     */
    Timer timer=new Timer();
    timer.schedule(new MyTimerTask(), c.getTime(),1000);
    }
    }
    class MyTimerTask extends TimerTask
    {
    public void run()
    {
    System.out.println("我是弱智!!!");
    }
    }
      

  3.   

    c.set(Calendar.MONTH,Calendar.SEPTEMBER);
    改成:c.set(Calendar.MONTH,Calendar.DECEMBER);这样才是十二月,疏忽了。
      

  4.   

    是在web的b/s程序下,也这么做吗?
      

  5.   

    我的程序就是web下的
    通过TimerRun.startTimer();激活
      

  6.   

    用QuartZ吧?//
    QuartZ是什么啊?