Anzahl der Monate zwischen java.util.Date 2, ohne Tag des Monats

Ich möchte die Anzahl der Monate zwischen 2java.util.Datehab´s, ohne das die tage im monat gezählt haben. Ich möchte also nur das Jahr und den Monat im Vergleich.

Beispiel:
 monthsBetween(new Date(2012,01,28), new Date(2012,02,01)) ---> 1

 monthsBetween(new Date(2012,02,27), new Date(2012,02,28)) ---> 0

 monthsBetween(new Date(2012,03,28), new Date(2012,07,01)) ---> 4

Ich habe dies versucht (gibt 0 zurück, erwartet 1), mit Joda-Zeit:

private static int monthsBetween(final Date fromDate, final Date toDate) {
    DateTime date1 = new DateTime().withDate(2012, 1, 20);
    DateTime date2 = new DateTime().withDate(2012, 2, 13);
    PeriodType monthDay = PeriodType.yearDayTime().withDaysRemoved();
    Period difference = new Period(date1, date2, monthDay);
    int months = difference.getMonths();

    return months;
 }

Und auch dies (gleiche Ergebnisse) mit Joda-Zeit:

private static int monthsBetween(final Date fromDate, final Date toDate) {
        return Months.monthsBetween(new DateTime(fromDate), new   DateTime(toDate).getMonths();
    }

Wie kann ich das erreichen?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage