This calendar class implements the
Islamic Hijri calendar.
This calendar is based from the time of Mohammed's
migration from Mecca (denoted as A.H.). Regular years have 12 months
and 354 days. Leap years have 355 days. Leap years are calculated in
30-year cycles, occurring in the 2nd, 5th, 7th, 10th, 13th, 16th,
18th, 21st, 24th, 26th, and 29th years.
public class HijriCalendar : Calendar {
// Public Constructors
public HijriCalendar( );
// Public Static Fields
public static readonly int HijriEra;
// =1
// Public Instance Properties
public override int[ ] Eras{get; }
// overrides Calendar
public int HijriAdjustment{set; get; }
public override int TwoDigitYearMax{set; get; }
// overrides Calendar
// Public Instance Methods
public override DateTime AddMonths(DateTime time, int months)
// overrides Calendar
public override DateTime AddYears(DateTime time, int years)
// overrides Calendar
public override int GetDayOfMonth(DateTime time);
// overrides Calendar
public override DayOfWeek GetDayOfWeek(DateTime time);
// overrides Calendar
public override int GetDayOfYear(DateTime time);
// overrides Calendar
public override int GetDaysInMonth(int year, int month, int era);
// overrides Calendar
public override int GetDaysInYear(int year, int era);
// overrides Calendar
public override int GetEra(DateTime time);
// overrides Calendar
public override int GetMonth(DateTime time);
// overrides Calendar
public override int GetMonthsInYear(int year, int era);
// overrides Calendar
public override int GetYear(DateTime time);
// overrides Calendar
public override bool IsLeapDay(int year, int month, int day, int era);
// overrides Calendar
public override bool IsLeapMonth(int year, int month, int era);
// overrides Calendar
public override bool IsLeapYear(int year, int era);
// overrides Calendar
public override DateTime ToDateTime(int year, int month, int day,
int hour, int minute, int second, int millisecond, int era);
// overrides Calendar
public override int ToFourDigitYear(int year);
// overrides Calendar
}