java Timer定時任務
阿新 • • 發佈:2018-12-31
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,第二個是開始時間,第三個是重複執行時間