public static void main(String[] args) { //获得当天的日期 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd "); Date date = new Date(); //定义开始时间字符串 String timeStr = "23:59:00"; timeStr = sdf.format(date)+timeStr; //获得当天的指定时间的date对象 sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); try { date = sdf.parse(timeStr); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //判断今天的执行时间是否已经过去,如果过去则改为明天(代码一直执行) if(date.getTime()<System.currentTimeMillis()){ date = new Date(date.getTime()+24*60*60*1000); } TimerTask task = new TimerTask(){ @Override public void run() { //your task System.out.println("测试 "); } }; Timer timer = new Timer(); timer.schedule(task, date, 24*60*60*1000); }