1.建立一個java項目,裡面建立兩個java類,整體的架構如圖所示:
2.MyTimer.java裡面的代碼如下所示:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
public class MyTimer {
public static void main(String[] args) {
Timer timer = new Timer();
MyTimerTask myTimerTask = new MyTimerTask("Number 1.");
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sf.format(calendar.getTime()));
calendar.add(Calendar.SECOND, 3);
myTimerTask.setName("schedule");
// schedule(task,time,period)時間等于或超過time執行task,之後每隔period執行一次task
timer.schedule(myTimerTask, calendar.getTime(), 2000);
}
}
3.MyTimerTask.java裡面的代碼如下所示:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimerTask;
public class MyTimerTask extends TimerTask {
private static String name;
public MyTimerTask(String inputName) {
name = inputName;
}
@Override
public void run() {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("Current exec time is:" + sf.format(calendar.getTime()));
System.out.println("Current exec name is:" + name);
}
public static String getName() {
return name;
}
public static void setName(String name) {
MyTimerTask.name = name;
}
}
4.運作得到定時結果: