Joda-Time将天数转换为数月和数天

spo*_*oss 0 java date jodatime

如何使用Joda-Time将天数转换为月数和天数.例如,当我有33天时,它应该显示1个月和2天.

public static void main(String[]args) 
   {        
        Calendar calendar = new GregorianCalendar();

         int years = calendar.get(Calendar.YEAR);
         int month = (calendar.get(Calendar.MONTH))+1;
         int day = calendar.get(Calendar.DATE);

         DateTime startDate = new DateTime(years, month, day, 0, 0, 0, 0);
         DateTime endDate = new DateTime(2014, 7, 3, 0, 0, 0, 0);

         Days d = Days.daysBetween(startDate, endDate);

         int days = d.getDays();
         int t = 1000 * 60 * 60 *24;
         int days = days/t;
         System.out.println(days);
}
Run Code Online (Sandbox Code Playgroud)

Ily*_*lya 6

您可以使用类org.joda.time.Period来实现此目的.
例:

  Period p = new Period(startDate, endDate, PeriodType.yearMonthDayTime());
  System.out.println(p.getMonths()); 
  System.out.println(p.getDays()); 
Run Code Online (Sandbox Code Playgroud)