我需要使用Java来区分两个日期.我需要几个月的结果.
例:
Startdate = 2013-04-03 enddate = 2013-05-03结果应为1
如果间隔是
Startdate = 2013-04-03 enddate = 2014-04-03结果应为12
使用以下代码,我可以在几天内得到结果.我怎么能在几个月内进入?
Date startDate = new Date(2013,2,2);
Date endDate = new Date(2013,3,2);
int difInDays = (int) ((endDate.getTime() - startDate.getTime())/(1000*60*60*24));
Run Code Online (Sandbox Code Playgroud)
Eti*_*ret 103
如果您不能使用JodaTime,您可以执行以下操作:
Calendar startCalendar = new GregorianCalendar();
startCalendar.setTime(startDate);
Calendar endCalendar = new GregorianCalendar();
endCalendar.setTime(endDate);
int diffYear = endCalendar.get(Calendar.YEAR) - startCalendar.get(Calendar.YEAR);
int diffMonth = diffYear * 12 + endCalendar.get(Calendar.MONTH) - startCalendar.get(Calendar.MONTH);
Run Code Online (Sandbox Code Playgroud)
请注意,如果您的日期是2013-01-31和2013-02-01,那么您可以通过这种方式获得1个月的距离,这可能是您想要的,也可能不是.