public static int getMonthNum(String date1,String date2,int type) throws java.text.ParseException{
int result = 0;
SimpleDateFormat sdf = new SimpleDateFormat(type==1?"yyyy":"yyyy-MM");
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(sdf.parse(date1));
c2.setTime(sdf.parse(date2));
if(type==1){
result = c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR);
System.out.println("日期:"+date1+"|"+date2+"|,相差"+Math.abs(result)+"年");
return result == 0 ? 1 : Math.abs(result);
}else{
result = c2.get(Calendar.MONTH) - c1.get(Calendar.MONTH);
int month = (c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR)) * 12;
System.out.println("日期:"+date1+"|"+date2+"|,相差"+Math.abs(result)+"个月");
return result == 0 ? 1 : Math.abs(month + result);
}
}