您的位置:首页 > 编程语言 > Java开发

java 计算两个日期相差了年份或者月份

2017-08-04 00:00 155 查看
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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java日期