public static bool IsLeapYear (int gyear) { // FIXME: it is still wrong. int d = gyear % 19; switch (d) { case 0: case 3: case 6: case 9: case 11: case 14: case 17: return true; default: return false; } /* int goldenNumber = (gyear - 1900) % 19; int epact = 29; bool leap = false; while (goldenNumber-- >= 0) { epact += 11; leap = epact > 30; if (epact > 30) epact -= 30; } return leap; */ }
public override bool IsLeapYear(int year, int era) { int gregorianYear = M_CheckYEG(year, ref era); return(CCEastAsianLunisolarCalendar.IsLeapYear(gregorianYear)); }