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);