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.运行得到定时结果: