Calculer mois entre deux dates en gardant l'année dans l'esprit à l'aide de JodaTime

Je suis en utilisant ce code pour calculer n de mois entre l'entrée pastdate et currentdate. Il utilise JodaTime

LocalDate date1 = new LocalDate(installmentStartDate2);
        LocalDate date2 = new LocalDate(new java.util.Date());
        PeriodType monthDay = PeriodType.yearMonthDayTime();
        Period difference = new Period(date1, date2, monthDay);
        int months = difference.getMonths();
        return months + 1; 

Maintenant quand je rentre 1 jan 2013-je obtenir 10 comme réponse. Mais le problème est d'obtenir 10, même quand je rentre 1 janv 2012.

Ce qui signifie que même si le calcul il ne considère que l'année.

Que puis-je faire pour obtenir la réponse correcte, c'est à dire, 22 quand je rentre 1 janv 2012.

Peut JodaTime faire ? Si oui ? Comment ?
Si pas ? Toute autre approche ?

  • Je ne sais pas si Joda le Temps peut le faire ou pas. Avec Java Pur, mais, je voudrais convertir ces deux dates à millis et ensuite trouver la différence par soustraction. Puis convertir le résultat en date objet de fournir de l'année,le mois et la date de la différence.
  • Vous ne pouvez pas trouver le nombre de mois en regardant un nombre de millisecondes, car la longueur d'un mois varie.