1. 程式人生 > >java Timer定時任務

java Timer定時任務

long daySpan = 24 * 60 * 60 * 1000;
        //一天執行一次
        // 規定的每天時間14:30:00執行
        final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd '14:30:00'");
        // 首次執行時間
        Date startTime = null;

        try {
            startTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(sdf.format(new Date()));
        } catch (ParseException e) {
            e.printStackTrace();
        }


        // 如果今天的已經過了 首次執行時間就改為明天
        //if(System.currentTimeMillis() > startTime.getTime())
         //   startTime = new Date(startTime.getTime() + daySpan);

        Timer t = new Timer();

        TimerTask task = new TimerTask(){
            @Override
            public void run() {
                // 要執行的程式碼
                System.err.println("xxxxxxxxx");
            }
        };
        // 以每24小時執行一次

        t.scheduleAtFixedRate(task, startTime, daySpan);
t.scheduleAtFixedRate(task, startTime, daySpan); 

第一個引數是執行體TimeTask,第二個是開始時間,第三個是重複執行時間