import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoField;
public class Main {
public static void main
(String[] args
) { System.
out.
println(getQuarter
(LocalDate.
now())); }
/*
* @param date1
* First given date cannot be null
* @param date2
* Second given date cannot be null
*/
public static int getQuartersBetweenDates(LocalDate date1, LocalDate date2) {
LocalDate beginn = null;
LocalDate end = null;
if (date1.isBefore(date2)) {
beginn = date1;
end = date2;
} else {
beginn = date2;
end = date1;
}
int quarters = getQuarter(end) - getQuarter(beginn);
int years = end.get(ChronoField.YEAR) - beginn.get(ChronoField.YEAR);
quarters += years * 4;
return Math.
abs(quarters
); }
public static int getQuarter(LocalDate cal) {
int month = cal.get(ChronoField.MONTH_OF_YEAR);
switch (Month.of(month)) {
case JANUARY:
case FEBRUARY:
case MARCH:
default:
return 0;
case APRIL:
case MAY:
case JUNE:
return 1;
case JULY:
case AUGUST:
case SEPTEMBER:
return 2;
case OCTOBER:
case NOVEMBER:
case DECEMBER:
return 3;
}
}
}
aW1wb3J0IGphdmEudGltZS5Mb2NhbERhdGU7CmltcG9ydCBqYXZhLnRpbWUuTW9udGg7CmltcG9ydCBqYXZhLnRpbWUudGVtcG9yYWwuQ2hyb25vRmllbGQ7CgpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgU3lzdGVtLm91dC5wcmludGxuKGdldFF1YXJ0ZXIoTG9jYWxEYXRlLm5vdygpKSk7CiAgfQoKCiAgLyoKICAgKiBAcGFyYW0gZGF0ZTEKICAgKiAgICAgICAgICBGaXJzdCBnaXZlbiBkYXRlIGNhbm5vdCBiZSBudWxsCiAgICogQHBhcmFtIGRhdGUyCiAgICogICAgICAgICAgU2Vjb25kIGdpdmVuIGRhdGUgY2Fubm90IGJlIG51bGwKICAgKi8KICBwdWJsaWMgc3RhdGljIGludCBnZXRRdWFydGVyc0JldHdlZW5EYXRlcyhMb2NhbERhdGUgZGF0ZTEsIExvY2FsRGF0ZSBkYXRlMikgewogICAgTG9jYWxEYXRlIGJlZ2lubiA9IG51bGw7CiAgICBMb2NhbERhdGUgZW5kID0gbnVsbDsKICAgIGlmIChkYXRlMS5pc0JlZm9yZShkYXRlMikpIHsKICAgICAgYmVnaW5uID0gZGF0ZTE7CiAgICAgIGVuZCA9IGRhdGUyOwogICAgfSBlbHNlIHsKICAgICAgYmVnaW5uID0gZGF0ZTI7CiAgICAgIGVuZCA9IGRhdGUxOwogICAgfQogICAgaW50IHF1YXJ0ZXJzID0gZ2V0UXVhcnRlcihlbmQpIC0gZ2V0UXVhcnRlcihiZWdpbm4pOwogICAgaW50IHllYXJzID0gZW5kLmdldChDaHJvbm9GaWVsZC5ZRUFSKSAtIGJlZ2lubi5nZXQoQ2hyb25vRmllbGQuWUVBUik7CiAgICBxdWFydGVycyArPSB5ZWFycyAqIDQ7CiAgICByZXR1cm4gTWF0aC5hYnMocXVhcnRlcnMpOwogIH0KICAKICBwdWJsaWMgc3RhdGljIGludCBnZXRRdWFydGVyKExvY2FsRGF0ZSBjYWwpIHsKICAgIGludCBtb250aCA9IGNhbC5nZXQoQ2hyb25vRmllbGQuTU9OVEhfT0ZfWUVBUik7CiAgICBzd2l0Y2ggKE1vbnRoLm9mKG1vbnRoKSkgewogICAgY2FzZSBKQU5VQVJZOgogICAgY2FzZSBGRUJSVUFSWToKICAgIGNhc2UgTUFSQ0g6CiAgICBkZWZhdWx0OgogICAgICByZXR1cm4gMDsKICAgIGNhc2UgQVBSSUw6CiAgICBjYXNlIE1BWToKICAgIGNhc2UgSlVORToKICAgICAgcmV0dXJuIDE7CiAgICBjYXNlIEpVTFk6CiAgICBjYXNlIEFVR1VTVDoKICAgIGNhc2UgU0VQVEVNQkVSOgogICAgICByZXR1cm4gMjsKICAgIGNhc2UgT0NUT0JFUjoKICAgIGNhc2UgTk9WRU1CRVI6CiAgICBjYXNlIERFQ0VNQkVSOgogICAgICByZXR1cm4gMzsKICAgIH0KICB9Cgp9Cg==