计算2个日期相差的月数,月数除以12就是年数,不足一个月的不计算。
代码:
String d1="2022-01-05";
String d2="2022-02-06";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
if(sdf.parse(d1).getTime()>sdf.parse(d2).getTime()){
String d1_temp=d1;
d1=d2;
d2=d1_temp;
}
Calendar c1 = Calendar.getInstance();
int months=0;//相差月数
for (int i = 1; ; i++) {
c1.setTime(sdf.parse(d1));
c1.add(Calendar.MONTH, i);
if(c1.getTime().getTime()>sdf.parse(d2).getTime()){
break;
}
months++;
}
System.out.println("月数:"+months);