If I calculate the difference between 2 LocalDate
\'s in java.time
using:
Period p = Period.between(testDate, today);
You mentioned in one of your comments that you need quarter year precision if you need the current quarter you can use IsoFields.QUARTER_YEARS:
double yearAndQuarter = testDate.until(today, IsoFields.QUARTER_YEARS) / 4.0;
This way you will actually use the time api, always get the correct result and @Mike won't have to loathe anything.