java实现两个时间相减得到年月,例如:
开始日期:2015-06-20,结束日期:2016-02-05。结果为:7个月
开始日期:2015-06-20,结束日期:2015-12-12。结果为:6个月
开始日期:2015-06-20,结束日期:2017-10-10。结果为:2年3个月
开始日期:2015-12-10,结束日期:2017-10-10。结果为:1年10个月
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
public static void main(String[] args) {
String startTime = "2015-06-20";
String endTime = "2016-02-05";
String[] arg1 = startTime.split("-");
String[] arg2 = endTime.split("-");
int year1 = Integer.valueOf(arg1[0]);
int year2 = Integer.valueOf(arg2[0]);
int month1 = Integer.valueOf(arg1[1]);
int month2 = Integer.valueOf(arg2[1]);
int day1 = Integer.valueOf(arg1[2]);
int day2 = Integer.valueOf(arg2[2]);
int md = 0 ;
if(year1!=year2){
md = day2>day1?0:-1;
}
int diffMonth = (year2*12+month2)-(year1*12+month1)+md;
int yearNum = diffMonth/12;
int monthNum = diffMonth % 12;
System.out.println("年数="+yearNum+",月数="+monthNum);
}