@Override public int compareTo(CalendarQuarter other) { if (this.year < other.year) { return -1; } else if (this.year > other.year) { return 1; } else { return this.quarter.compareTo(other.quarter); } }
/** * <p>Determines the difference in years between given quarter years. </p> * * @param q1 first quarter year * @param q2 second quarter year * @return year difference */ /*[deutsch] * <p>Bestimmt die Jahresdifferenz zwischen den angegebenen Quartalen. </p> * * @param q1 first quarter year * @param q2 second quarter year * @return year difference */ public static Years<CalendarUnit> between(CalendarQuarter q1, CalendarQuarter q2) { int delta = q2.getYear() - q1.getYear(); if (delta > 0) { if (q2.getQuarter().compareTo(q1.getQuarter()) < 0) { delta--; } } else if (delta < 0) { if (q2.getQuarter().compareTo(q1.getQuarter()) > 0) { delta++; } } return Years.ofGregorian(delta); }