java timer六种方法

时间:2025-02-16 12:34:59
import ;
import ;
import ;
import ;


public class TimerUtil {
public static void main(String[] args) throws Exception {
(new Date().getTime()+"-------开始定时任务--------"); 
timer1();
timer2();
timer3();
timer4();
timer5();
timer6();
}

// 第一种方法:指定任务task在指定时间time执行
//schedule(TimerTask task, Date time)  
public static void timer1() {
Calendar calendar = ();   
(Calendar.HOUR_OF_DAY, 00); // 控制时    
(, 00);    // 控制分  
(, 0);    // 控制秒 
Date time = ();     // 得出执行任务的时间,此处为今天的00:00:00 

Timer timer = new Timer(); 
(new TimerTask() {
public void run() {      
(new Date().getTime()+"-------定时任务1--------"); 
}    
}, time);
}

// 第二种方法:指定任务task在指定延迟delay后执行
//schedule(TimerTask task, long delay)  
public static void timer2() {    
Timer timer = new Timer(); 
(new TimerTask() {
public void run() {      
(new Date().getTime()+"-------定时任务2--------"); 
}    
}, 2000);// 指定延迟2000毫秒后执行  
}

// 第三种方法:指定任务task在指定时间firstTime执行后,进行重复固定延迟频率peroid的执行   
// schedule(TimerTask task, Date firstTime,long period)   
public static void timer3() {    
Calendar calendar = ();   
(Calendar.HOUR_OF_DAY, 00); // 控制时    
(, 00);    // 控制分  
(, 0);    // 控制秒 
Date time = ();     // 得出执行任务的时间,此处为今天的00:00:00 

Timer timer = new Timer();     
(new TimerTask() {  
public void run() {     
(new Date().getTime()+"-------定时任务3--------");
}    
}, time, 1000 * 60 * 60 * 24);   
}

// 第四种方法:指定任务task 在指定延迟delay 后,进行重复固定延迟频率peroid的执行    
// schedule(TimerTask task, long delay, long period)   
public static void timer4() {    
Timer timer = new Timer();     
(new TimerTask() {  
public void run() {     
(new Date().getTime()+"-------定时任务4--------");
}    
}, 1000, 5000);   


// 第五种方法:指定任务task在指定时间firstTime执行后,进行重复固定延迟频率peroid的执行    
// scheduleAtFixedRate(TimerTask task,Date firstTime,long period) 
public static void timer5() {  
Calendar calendar = ();   
(Calendar.HOUR_OF_DAY, 00); // 控制时    
(, 00);    // 控制分  
(, 0);    // 控制秒 
Date time = ();     // 得出执行任务的时间,此处为今天的00:00:00 

Timer timer = new Timer();    
(new TimerTask() { 
public void run() {     
(new Date().getTime()+"-------定时任务5--------");   
}    
}, time, 1000 * 60 * 60 * 24);


// 第六种方法:指定任务task 在指定延迟delay 后,进行重复固定延迟频率peroid的执行   
// scheduleAtFixedRate(TimerTask task, long delay, long period)  
public static void timer6() {   
Timer timer = new Timer();   
(new TimerTask() { 
public void run() {    
(new Date().getTime()+"-------定时任务6--------");   
}    
}, 1000, 2000);  
}


}