private static ValueRange rangeDayOfMonth(ITemporalAccessor temporal) { int max = 31; switch (temporal.get(MONTH_OF_YEAR)) { case 2: if (DateTime.IsLeapYear(temporal.get(YEAR))) { max = 29; } else { max = 28; } break; case 4: case 6: case 9: case 11: max = 30; break; } return(ValueRange.of(1, 28, max)); }
private static ValueRange rangeDayOfYear(ITemporalAccessor temporal) { return(ValueRange.of(1, 365, (DateTime.IsLeapYear(temporal.get(YEAR)) ? 366 : 365))); }