java.util.timer每天 在固定时间

来源:互联网 发布:如何优化供应商 编辑:程序博客网 时间:2024/04/28 05:36
[java] view plain copy
  1. 方法1  
[java] view plain copy
  1. //24小时毫秒数  
  2. long dateSpan = 24*60*60*1000  
  3.   
  4. final String time = "15:30:00";  
  5. final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd " + time);  
  6. Date startTime;  
  7. try {  
  8.     startTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(sdf.format(new Date()));  
  9.     timer = new Timer();  
  10.     //24小时执行1次  
  11.     timer.schedule(new MemberTask(), startTime, 24 * 60 * 60 * 1000);  
  12.     //24小时执行2次  
  13.     timer.scheduleAtFixedRate(task, startTime, daySpan);  
  14. catch (final ParseException e) {  
  15.     e.getStackTrace();  
  16. }  

[java] view plain copy
  1. 方法2  

[java] view plain copy
  1.  Calendar cal = Calendar.getInstance();  
  2.   int year = cal.get(Calendar.YEAR);  
  3.   int month=cal.get(Calendar.MONTH)+1;  
  4.   int day = cal.get(Calendar.DAY_OF_MONTH);  
  5.   int hour = cal.get(Calendar.HOUR_OF_DAY);  
  6.   int minute = cal.get(Calendar.MINUTE);  
  7.   int second = cal.get(Calendar.SECOND);  
  8.   注意:月份,实际的月份要比Clendar得到的加1,因为java月份是从0~11  
  9. Timer timer = new Timer();  
  10. MyTask task = new MyTask();  
  11. //Calendar cal = new GregorianCalendar(2006, 9, 28, 12, 49, 0);  
  12. Calendar cal = new GregorianCalendar(year, month, day, hour, minute, second);  
  13. Date date = cal.getTime();  
  14. System.out.println("date :" + date.toLocaleString());  
  15. timer.schedule(task, date, 1000);  
0 0
原创粉丝点击