You can create new Period objects, and utilize the isZero and isNegative methods, to determine comparison.
Period minus18 = period.minusYears(18);
boolean gte18 = minus18.isZero() || !minus18.isNegative();
Period minus75 = period.minusYears(75);
boolean lte75 = minus75.isZero() || minus75.isNegative();
if (gte18 && lte75) {
} else {
}
Here is an example.
LocalDate today = LocalDate.now(ZoneId.systemDefault());
LocalDate[] dates = {
LocalDate.of(1948, 6, 25), LocalDate.of(1948, 6, 26), LocalDate.of(1948, 6, 27),
LocalDate.of(2005, 6, 25), LocalDate.of(2005, 6, 26), LocalDate.of(2005, 6, 27) };
Period period, minus18, minus75;
boolean gte18, lte75;
for (LocalDate inputdate : dates) {
period = Period.between(inputdate, today);
minus18 = period.minusYears(18);
gte18 = minus18.isZero() || !minus18.isNegative();
System.out.printf("%-12s - 18 = %-12s >= 18 = %b%n", period, minus18, gte18);
minus75 = period.minusYears(75);
lte75 = minus75.isZero() || minus75.isNegative();
System.out.printf("%-12s - 75 = %-12s <= 75 = %b%n", period, minus75, lte75);
}
Output
P75Y1D - 18 = P57Y1D >= 18 = true
P75Y1D - 75 = P1D <= 75 = false
P75Y - 18 = P57Y >= 18 = true
P75Y - 75 = P0D <= 75 = true
P74Y11M30D - 18 = P56Y11M30D >= 18 = true
P74Y11M30D - 75 = P-1Y11M30D <= 75 = true
P18Y1D - 18 = P1D >= 18 = true
P18Y1D - 75 = P-57Y1D <= 75 = true
P18Y - 18 = P0D >= 18 = true
P18Y - 75 = P-57Y <= 75 = true
P17Y11M30D - 18 = P-1Y11M30D >= 18 = false
P17Y11M30D - 75 = P-58Y11M30D <= 75 = true