import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /** * @author :yanbo * @data :created in 2017/11/8 */ public class SerchRun { public static void main(String[] args) throws ParseException { SerchRun serchRun=new SerchRun(); serchRun.startRun(); } int i=1; protected void startRun() throws ParseException { SimpleDateFormat fTime = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date date = null; final Date d1 = fTime.parse("2018-05-30 18:05"); final Timer timer = new Timer(); //final TimerTask task =new TimerTask(){ timer.schedule(new TimerTask() { public void run() { i++; System.out.println(i); System.out.println(d1 + "开始运行"); //在这写你要调用的方法 if (i == 6) { timer.cancel(); } } },d1,2000); //当前时间开始起动 每次间隔2秒再启动 /*但是上面如果用schedule方法,间隔时间是3分钟,指定开始时间是2018/5/30 18:05,那么在18:05分执行这个程序, 则立即执行程序一次。并且下一次的执行时间是当前机器时间,而不是从18:02开始算的周期*/ }
运行结果:
Wed May 30 18:05:00 CST 2018开始运行3
Wed May 30 18:05:00 CST 2018开始运行
4
Wed May 30 18:05:00 CST 2018开始运行
5
Wed May 30 18:05:00 CST 2018开始运行
6
Wed May 30 18:05:00 CST 2018开始运行
Process finished with exit code 0