import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
*
*/
/**
* @author Administrator
*
*/
public class TestTimer {
public static void main(String[] args) {
//获得当天的日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd ");
Date date = new Date();
//定义开始时间字符串
// String timeStr = "22:20:20";
String timeStr = "22:58:00";
timeStr = sdf.format(date)+timeStr;
System.out.println("timeStr:"+timeStr);
//获得当天的指定时间的date对象
sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try {
date = sdf.parse(timeStr);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//判断今天的执行时间是否已经过去,如果过去则改为明天
if(date.getTime()<System.currentTimeMillis()){
System.out.println("要执行的时间:"+sdf.format(new Date(date.getTime()+1000*5)));
date = new Date(date.getTime()+24*60*60*1000);
}
Timer timer = new Timer();
TimerTask task = new TimerTask(){
public void run() {
//your task
System.out.println("需要执行的事物");
}
};
timer.scheduleAtFixedRate(task, date, 5*1000);
System.out.println("TimerTask:"+sdf.format(new Date(task.scheduledExecutionTime())));
}
}