日期时间有关工具类
日期时间相关工具类
//计算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()); }