计算两个日期之间的差: 两个变量 d1,d2 例:d1="2018-05-16" , d2="2019-08-07" public static int getMonthDiff(String d1, String d2){ try { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM"); Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.setTime(sdf.parse(d1)); c2.setTime(sdf.parse(d2)); if(c1.getTimeInMillis() < c2.getTimeInMillis()) { return 0; } int year1 = c1.get(Calendar.YEAR); int year2 = c2.get(Calendar.YEAR); int month1 = c1.get(Calendar.MONTH); int month2 = c2.get(Calendar.MONTH); int day1 = c1.get(Calendar.DAY_OF_MONTH); int day2 = c2.get(Calendar.DAY_OF_MONTH); int yearInterval = year1 - year2; // 如果 d1的 月-日 小于 d2的 月-日 那么 yearInterval-- 这样就得到了相差的年数 if(month1 < month2 || month1 == month2 && day1 < day2) yearInterval --; // 获取月数差值 int monthInterval = (month1 + 12) - month2 ; if(day1 < day2) monthInterval --; monthInterval %= 12; return yearInterval * 12 + monthInterval; } catch (ParseException e) { e.printStackTrace(); } return 0; }