- 方法1
- //24小时毫秒数
- long dateSpan = 24*60*60*1000
- final String time = "15:30:00";
- final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd " + time);
- Date startTime;
- try {
- startTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(sdf.format(new Date()));
- timer = new Timer();
- //24小时执行1次
- timer.schedule(new MemberTask(), startTime, 24 * 60 * 60 * 1000);
- //24小时执行2次
- timer.scheduleAtFixedRate(task, startTime, daySpan);
- } catch (final ParseException e) {
- e.getStackTrace();
- }
- 方法2
- Calendar cal = Calendar.getInstance();
- int year = cal.get(Calendar.YEAR);
- int month=cal.get(Calendar.MONTH)+1;
- int day = cal.get(Calendar.DAY_OF_MONTH);
- int hour = cal.get(Calendar.HOUR_OF_DAY);
- int minute = cal.get(Calendar.MINUTE);
- int second = cal.get(Calendar.SECOND);
- 注意:月份,实际的月份要比Clendar得到的加1,因为java月份是从0~11
- Timer timer = new Timer();
- MyTask task = new MyTask();
- //Calendar cal = new GregorianCalendar(2006, 9, 28, 12, 49, 0);
- Calendar cal = new GregorianCalendar(year, month, day, hour, minute, second);
- Date date = cal.getTime();
- System.out.println("date :" + date.toLocaleString());
- timer.schedule(task, date, 1000);