public override bool IsLeapDay(int year, int month, int day, int era)
{
if (era != CurrentEra && era != ADEra) {
throw new ArgumentOutOfRangeException("era", Environment.GetResourceString("ArgumentOutOfRange_InvalidEraValue"));
}
if (year < 1 || year > MaxYear) {
throw new ArgumentOutOfRangeException(
"year",
String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("ArgumentOutOfRange_Range"), 1, MaxYear));
}
if (month < 1 || month > 12) {
throw new ArgumentOutOfRangeException("month", String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("ArgumentOutOfRange_Range"),
1, 12));
}
if (day < 1 || day > GetDaysInMonth(year, month)) {
throw new ArgumentOutOfRangeException("day", String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("ArgumentOutOfRange_Range"),
1, GetDaysInMonth(year, month)));
}
if (!IsLeapYear(year)) {
return (false);
}
if (month == 2 && day == 29) {
return (true);
}
return (false);
}