/*** 计算两个日期的月份相差数** @param begin 开始日期* @param end 结束日期* @return 相差月数,精确到天*/public static int minusMonth(Date begin, Date end) {Calendar calendarBegin = Calendar.getInstance();calendarBegin.setTime(begin);Calendar calendarEnd = Calendar.getInstance();calendarEnd.setTime(end);int yearBegin = calendarBegin.get(Calendar.YEAR);int monthBegin = calendarBegin.get(Calendar.MONTH);int dayOfMonthBegin = calendarBegin.get(Calendar.DAY_OF_MONTH);int yearEnd = calendarEnd.get(Calendar.YEAR);int monthEnd = calendarEnd.get(Calendar.MONTH);int dayOfMonthEnd = calendarEnd.get(Calendar.DAY_OF_MONTH);int years = yearEnd - yearBegin;int months = monthEnd - monthBegin;// 月数偏移量,日期比较,若大则正好,若小则月数-1int monthOffset = dayOfMonthEnd >= dayOfMonthBegin ? 0 : -1;return years * 12 + months + monthOffset;}