Comment calculer la différence que les mois à l'aide de Java de l'API Joda

Je suis en train d'écrire un programme qui est censé juste calculer les mois entre 2 dates et renvoie la valeur du programme. Par exemple, si je dois calculer le nombre de mois compris entre le 1er avril et le 30 juin (qui est un quart de, 3 mois), et j'utilise le code suivant:

    DateTime start = new DateTime().withDate(2011, 4, 1);
    DateTime end = new DateTime().withDate(2011, 6, 30);

    Months mt = Months.monthsBetween(start, end);
    int monthDiff = mt.getMonths();

À l'aide de cela, je suis encore en train de "2" comme le nombre de mois, alors qu'il est en fait "3" mois. Ceci est un exemple de ce que je veux. Je ne suis que le calcul du nombre de mois (c'est à dire à partir du 1er du mois de début t de la dernière date de la fin du mois) et je n'ai pas besoin d'analyse supplémentaires comme des jours, semaines, heures, etc. Comment puis-je y parvenir?

Toute aide serait appréciée.

Ne peut pas attendre de lire la réponse de Jon Skeet, le Stackoverflow et la Date de l'API de l'expert 😉
Je crois que le Yoda le temps de réponse est correcte. Entre le 1er avril (non compris) 30 juin serait presque 3 mois. Je pense que les deux dates ont la même heure (00:00) et donc le 30 juin n'est pas vraiment inclus dans la gamme.
Thats droit. La Période affichée est de 2 mois, 4 semaines et 1 jour.

OriginalL'auteur Abhay Bhargav | 2011-09-18