Die Berechnung der Anzahl der Jahre zwischen zwei Date-oder Calendar-Objekte, wenn man bedenkt Schaltjahre

So, in ein Java-Projekt an dem ich arbeite sind wir verpflichtet, zu verwenden nur Datum und Kalender-Objekte zur Darstellung der Termine. Eine Methode, die ich Schreibe, setzt Voraus, dass ein Datum sein, zumindest bestimmte Anzahl von Jahren in der Vergangenheit, so muss ich in der Lage sein, genau zu berechnen die Anzahl der Jahre zwischen der Gegenwart und dem angegebenen Datum oder Kalender. Ich habe es geschafft, genau zu berechnen die Anzahl der Tage zwischen der Verwendung dieser Implementierung:

public static long daysSince(Date pastDate) {
    long millisecondsSince = new Date().getTime() - pastDate.getTime();
    return TimeUnit.DAYS.convert(millisecondsSince, TimeUnit.MILLISECONDS);
}

Aber jetzt bin ich kämpfen, um einen Weg finden, genau zu berechnen die Anzahl der Jahre, die zwischen diesen Datumsangaben unter Berücksichtigung von Schaltjahren etc. Offensichtlich dividieren des Ergebnisses der oben genannten Methode durch 365 oder 365.25 nicht ganz funktioniert. Ich bin mir bewusst, joda time package und java.Zeit allerdings, die wir explizit arbeiten zu müssen mit Datum und Kalender-Objekte. Hat jemand eine Idee, wie dies getan werden kann, vorzugsweise so schnell und elegant wie möglich? Danke

EDIT: zu finden Schien funktionierende Lösung, siehe unten

Schreibe einen Kommentar