Android 查找两个日期的月份和天数差

Android 查找两个日期的月份和天数差,android,date,datetime,calendar,jodatime,Android,Date,Datetime,Calendar,Jodatime,我想找出两个日期之间的月和日差。一个是我的系统当前日期,另一个是未来日期 未来日期的格式如下: 2014-02-06 21:26 我使用了下面的代码来找出差异 一, 但它给了我错误的结果,我认为这并不方便,因为有时一个月有31天。我也曾经发现差异,但它也帮不了我 二, 两个都不工作请帮帮我,我怎么才能找到它? 谢谢我使用了下面的代码,效果很好 currentCal = Calendar.getInstance(); startDate = new DateTime(currentCal.get(

我想找出两个日期之间的月和日差。一个是我的系统当前日期,另一个是未来日期

未来日期的格式如下:

2014-02-06 21:26

我使用了下面的代码来找出差异

一,

但它给了我错误的结果,我认为这并不方便,因为有时一个月有31天。我也曾经发现差异,但它也帮不了我

二,

两个都不工作请帮帮我,我怎么才能找到它?
谢谢

我使用了下面的代码,效果很好

currentCal = Calendar.getInstance();
startDate = new DateTime(currentCal.get(Calendar.YEAR),
                         (currentCal.get(Calendar.MONTH)+1),
                         currentCal.get(Calendar.DAY_OF_MONTH),
                         currentCal.get(Calendar.HOUR),
                         currentCal.get(Calendar.MINUTE));
weddingCal = Calendar.getInstance();
weddingCal.clear();
weddingCal.setTime(formatterResponseDate.parse(responseThis.trim()));
endDate = new DateTime(weddingCal.get(Calendar.YEAR),
                       (weddingCal.get(Calendar.MONTH)+1),
                       weddingCal.get(Calendar.DAY_OF_MONTH),
                       weddingCal.get(Calendar.HOUR),
                       weddingCal.get(Calendar.MINUTE));
Period period = new Period(startDate, endDate, PeriodType.yearMonthDayTime());
tvMonth.setText(String.valueOf(period.getMonths()));
tvDays.setText(String.valueOf(period.getDays()));

顺便问一下,period是什么?period=org.joda.time.period它来自joda Library@AllTimeKing Narendra
currentCal = Calendar.getInstance();
startDate = new DateTime(currentCal.get(Calendar.YEAR),
(currentCal.get(Calendar.MONTH)+1),
currentCal.get(Calendar.DAY_OF_MONTH), currentCal.get(Calendar.HOUR),
currentCal.get(Calendar.MINUTE));
weddingCal = Calendar.getInstance();
weddingCal.clear();
weddingCal.setTime(formatterResponseDate.parse(responseThis.trim()));
endDate = new DateTime(weddingCal.get(Calendar.YEAR), (weddingCal.get(Calendar.MONTH)+1),
weddingCal.get(Calendar.DAY_OF_MONTH), weddingCal.get(Calendar.HOUR),
weddingCal.get(Calendar.MINUTE));
Period period = new Period(startDate, endDate);
tvMonth.setText(String.valueOf(period.getMonths()));
tvDays.setText(String.valueOf(period.getDays()));
currentCal = Calendar.getInstance();
startDate = new DateTime(currentCal.get(Calendar.YEAR),
                         (currentCal.get(Calendar.MONTH)+1),
                         currentCal.get(Calendar.DAY_OF_MONTH),
                         currentCal.get(Calendar.HOUR),
                         currentCal.get(Calendar.MINUTE));
weddingCal = Calendar.getInstance();
weddingCal.clear();
weddingCal.setTime(formatterResponseDate.parse(responseThis.trim()));
endDate = new DateTime(weddingCal.get(Calendar.YEAR),
                       (weddingCal.get(Calendar.MONTH)+1),
                       weddingCal.get(Calendar.DAY_OF_MONTH),
                       weddingCal.get(Calendar.HOUR),
                       weddingCal.get(Calendar.MINUTE));
Period period = new Period(startDate, endDate, PeriodType.yearMonthDayTime());
tvMonth.setText(String.valueOf(period.getMonths()));
tvDays.setText(String.valueOf(period.getDays()));