日期时间有关工具类

日期时间相关工具类
      //计算2个日期之间相差几天
      public static int getTwoDateFordays(Date exitDateFrom, Date exitDateTo){
          Calendar aCalendar = Calendar.getInstance();
          Calendar bCalendar = Calendar.getInstance();
          aCalendar.setTime(exitDateFrom);
          bCalendar.setTime(exitDateTo);
          int days = 0;
          while(aCalendar.before(bCalendar)){
              days++;
              aCalendar.add(Calendar.DAY_OF_YEAR, 1);
          }
          return days;
      } 
      
      /**
       * 计算2个日期之前相差几个月 "2011-01","2012-09"
       * @param begin
       * @param end
       * @return
       */
      public static int getDiffer(String begin, String end){
          int difMonth = 0;
          try{
              DateFormat df = new SimpleDateFormat("yyyy-MM");
              Date beginDate = df.parse(begin);
              Date endDate = df.parse(end);

              int beginYear = beginDate.getYear();
              int beginMonth = beginDate.getMonth();

              int endYear = endDate.getYear();
              int endMonth = endDate.getMonth();
              difMonth = (endYear-beginYear)*12+(endMonth-beginMonth)+1;             
          }catch(Exception e){
              e.printStackTrace();
          }

          return difMonth; 
      }       
      
      /**
       * 获得上个月是哪年那月
       * @param date
       * @return
       */
      public static Date getLastDate(Date date) {
          Calendar cal = Calendar.getInstance();
          cal.setTime(date);
          cal.add(Calendar.MONTH, -1);
          return cal.getTime();
      }      
      //计算上个月的这一天的这个时候
      public static Date getLastMonthThisDay(Date date){
          Calendar calendar = Calendar.getInstance();
          calendar.setTime(date);
          calendar.add(Calendar.MONTH, -1);
          
          
          return calendar.getTime();
      }     
      
        
            
      /**
       * 将imei转换成6-2-6的格式
       * 包括ios和安卓
       * @param imei
       * @return
       */
      public static String changeImei(String imei) {
          imei = imei.toLowerCase();
          String newimei = "";
          if (null == imei || "".equals(imei.trim())) {
              newimei =  " - - ";
          }
          if (imei.length() < 14) {
              imei = imei + "00000000000000";
              newimei = imei.substring(0, 6) + "-" + imei.substring(6, 8) + "-"+ imei.substring(8, 14);
          }else if (imei.length()>=14 && imei.length()<=18){
              newimei = imei.substring(0, 6) + "-" + imei.substring(6, 8) + "-"+ imei.substring(8, 14);
          }else{
              newimei = imei;
          }
          return newimei;
      }
      
      /**
       * 得到某年某月的最后一天
       *
       * @param year
       * @param month
       * @return
       */
      public static String getLastDayOfMonth(int year, int month) {
           Calendar cal = Calendar.getInstance();
           cal.set(Calendar.YEAR, year);
           cal.set(Calendar.MONTH, month-1);
           cal.set(Calendar.DAY_OF_MONTH, 1);
           int value = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
           cal.set(Calendar.DAY_OF_MONTH, value);
           return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
      }