public class DateIntevalTest{
public static void main(){
Date date1 = new Date(2008,3,24);
Date date2 = new Date(2009,4,5);
int v = getMonths(date1,date2);
System.out.println("interval="+v);
}
/**
* get months interval between two Date
* @param date1
* @param date2
* @return
*/
private static int getMonths(Date date1, Date date2){
int iMonth = 0;
try{
Calendar objCalendarDate1 = Calendar.getInstance();
objCalendarDate1.setTime(date1);
Calendar objCalendarDate2 = Calendar.getInstance();
objCalendarDate2.setTime(date2);
if (objCalendarDate2.equals(objCalendarDate1))
return 0;
if (objCalendarDate1.after(objCalendarDate2)){
Calendar temp = objCalendarDate1;
objCalendarDate1 = objCalendarDate2;
objCalendarDate2 = temp;
}
if (objCalendarDate2.get(Calendar.YEAR) > objCalendarDate1.get(Calendar.YEAR))
iMonth = (objCalendarDate2.get(Calendar.YEAR) - objCalendarDate1.get(Calendar.YEAR))
* 12 + objCalendarDate2.get(Calendar.MONTH)
- objCalendarDate1.get(Calendar.MONTH);
else
iMonth = objCalendarDate2.get(Calendar.MONTH)
- objCalendarDate1.get(Calendar.MONTH);
} catch (Exception e){
e.printStackTrace();
}
return iMonth;
}
}
转载于:https://blog.51cto.com/dongdong1314/372365