public class TimerTest { private SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"); //根据当前时间延迟三秒之后执行一次 public void timer1(){ Timer timer = new Timer(); System.out.println("timer方法"+sdf.format(new Date())); timer.schedule(new TimeTaskTest(), 3000); } //根据当前时间延迟三秒之后执行一次,之后轮循执行一次 public void timer2(){ Timer timer = new Timer(); System.out.println("timer方法"+sdf.format(new Date())); timer.schedule(new TimeTaskTest(), 3000, 3000); } //自定义时间(闹钟设置原理) public void timer3(){ Timer timer = new Timer(); //获得自己定义的时间段,创建Calendar方法 Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR, 2); calendar.set(Calendar.MINUTE, 47); calendar.set(Calendar.SECOND, 50); Date firstTime = calendar.getTime(); System.out.println("自定义时间"+sdf.format(calendar.getTime())); System.out.println("timer方法"+sdf.format(new Date())); timer.schedule(new TimeTaskTest(), firstTime, 2000); } public static void main(String[] args) { // new TimerTest().timer1(); new TimerTest().timer3(); }
}
public class TimeTaskTest extends TimerTask{ private SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd:HH:mm:ss"); @Override public void run() { // TODO Auto-generated method stub System.out.println("开始"+sdf.format(new Date())); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("结束"+sdf.format(new Date())); } }