packagethread.timer;
importjava.util.Calendar;
importjava.util.Timer;
importjava.util.TimerTask;
publicclassTimerTest{
publicstaticvoidmain(String[]args){
Timert=newTimer();
TimerTasktask=newTimerTask(){
@Override
publicvoidrun(){
System.out.println("Taskisprocessing.");//此處可以插入自己想運行的代碼片段
}
};
Calendarc=Calendar.getInstance();
c.set(Calendar.MINUTE,26);//時間可以自己設置
t.schele(task,c.getTime());
}
}
Ⅱ java怎麼在經過指定時間再執行方法
你好,可以用Timer類裡面的一下方法:
schele(TimerTask task, Date time) // 安排在指定的時間執行指定的任務。
schele(TimerTask task, long delay)// 安排在指定延遲後執行指定的任務。
Ⅲ JAVA 如何實現 判斷到了某一個時刻 就執行一個任務
請參考java.util.Timer的文檔
public class Timer extends Object
一種線程設施,用於安排以攜扮後在後台線程中執行的任務。可安排任務執行一次,或者定期重復執行。
此類的實例可以實現在指定的時間或延時後開始指辯襪灶定速率(周期)的重復執行 是用來作為後台維護線程的一個很好的選擇。
很簡單 只需要用你需要的任務來實現一個TimerTask的run方法 並將這個TimerTask的實例在調用timer.scheleAtFixedRate方法時傳入
只需要將開始時間設定為某個小時的5分5秒 然後周期設為一個小時就可以好悄了
具體請參考JDK文檔 timer會作為一個獨立的線程運行在後台 不影響主線程的運行 並在所有線程都退出後退出(作為守護線程)
Ⅳ java 如何設定時間執行程序
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Test {
public static void main(String[] args) {
//timer1();
timer2();
//timer3();
//timer4();
}
// 第一種方法:設定指定任務task在指定時間執行 schele(TimerTask task, Date time)
public static void timer1() {
Timer timer = new Timer();
timer.schele(new TimerTask() {
public void run() {
System.out.println("-------設定要指定任務--------");
}
}, 2000);// 設定指定的時間time,此處為2000毫秒
}
// 第二種方法:設定指定任務task在指定延遲delay後進行固定延遲peroid的執行
// schele(TimerTask task, long delay, long period)
public static void timer2() {
Timer timer = new Timer();
timer.schele(new TimerTask() {
public void run() {
System.out.println("-------設定要指定任務--------");
}
}, 1000, 1000);
}
// 第三種方法:設定指定任務task在指定延遲delay後進行固定頻率peroid的執行。
// scheleAtFixedRate(TimerTask task, long delay, long period)
public static void timer3() {
Timer timer = new Timer();
timer.scheleAtFixedRate(new TimerTask() {
public void run() {
System.out.println("-------設定要指定任務--------");
}
}, 1000, 2000);
}
// 第四種方法:安排指定的任務task在指定的時間firstTime開始進行重復的固定速率period執行.
// Timer.scheleAtFixedRate(TimerTask task,Date firstTime,long period)
public static void timer4() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 12); // 控制時
calendar.set(Calendar.MINUTE, 0); // 控制分
calendar.set(Calendar.SECOND, 0); // 控制秒
Date time = calendar.getTime(); // 得出執行任務的時間,此處為今天的12:00:00
Timer timer = new Timer();
timer.scheleAtFixedRate(new TimerTask() {
public void run() {
System.out.println("-------設定要指定任務--------");
}
}, time, 1000 * 60 * 60 * 24);// 這里設定將延時每天固定執行
}
}
Ⅳ java定時器 每天12點 固定執行一個方法
Calendar cal = Calendar.getInstance();
//每天定點執行
cal.set(Calendar.HOUR_OF_DAY,12);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
Timer timer = new Timer();
timer.schele(new TimerTask() {
public void run() {
//執行的內內容容
}
},cal.getTime(), 24*60*60*1000);