我想做一个定时程序,每天某一个时间定时执行程序,从网上搜了一段代码不执行是怎么回事?还需要在web.xml里做设置吗,怎么设置,我设置了也不执行。代码如下:
package com.timer.test;import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;/****
 * TimerTask与Timer
 * 
 * @author bruceleey
 * 
 */
public class TestTimer {
    static int count = 0;    public static void showTimer() {
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                ++count;
                System.out.println("count执行了-->" + count); // 1次
            }        };        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int day = calendar.get(Calendar.DAY_OF_MONTH) - 1;
        /*** 定制每日00:24:00执行方法 ***/
        calendar.set(year, month, day, 24, 24, 00);
        Date date = calendar.getTime();
        Timer timer = new Timer();
        timer.schedule(task, date);
    }    public static void main(String[] args) {
        showTimer();
    }}

解决方案 »

  1.   

    在我这试了下!可以的!!!
    你那怎么不能执行啊??
    int day = calendar.get(Calendar.DAY_OF_MONTH) - 1; 
    是昨天的day
    calendar.set(year, month, day, 24, 24, 00); 
    也就是凌晨0点24分0秒
      

  2.   

    如果你想实现定时的话
    应该用Timer.schedule(TimerTask,Date ,int)
    在时间date执行!!之后每隔多长时间执行一次(单位是毫秒);;;;;
      

  3.   


    怎么弄的啊,用的tomcat吗,编译了吗
      

  4.   

    我用Eclipse也可以啊,放到tomcat上就不行了