计算Date的日期差

总体思路是:对时间过滤时分秒,得到时间的毫秒,两者相减,在除以一天的毫秒数(1000*60*60*24)    private   int  daysBetween(Date now, Date returnDate)  ... {
    Calendar cNow  =  Calendar.getInstance();
    Calendar cReturnDate  =  Calendar.getInstance();
    cNow.setTime(now);
    cReturnDate.setTime(returnDate);
    setTimeToMidnight(cNow);
    setTimeToMidnight(cReturnDate);
     long  todayMs  =  cNow.getTimeInMillis();
     long  returnMs  =  cReturnDate.getTimeInMillis();
     long  intervalMs  =  todayMs  -  returnMs;
     return  millisecondsToDays(intervalMs);
  }

   private   int  millisecondsToDays( long  intervalMs)  ... {
     return  ( int ) (intervalMs  /  ( 1000   *   86400 ));
  }

   private   void  setTimeToMidnight(Calendar calendar)  ... {
    calendar.set(Calendar.HOUR_OF_DAY,  0 );
    calendar.set(Calendar.MINUTE,  0 );
    calendar.set(Calendar.SECOND,  0 );
  }

你可能感兴趣的:(Date)