This abstract class determines the division and measurement of time in units, such as day, months, years, and eras. It is an abstract base class for culture-specific calendar implementations included in this namespace. Derived classes store the specific information about a calendar's eras, lengths of years and months, and the sometimes esoteric rules for calculating leap years . These properties get used by DateTimeFormatInfo to properly display a date and time string from a specific DateTime value. public abstract class Calendar { // Protected Constructors protected Calendar ( ); // Public Static Fields public const int CurrentEra ; // =0 // Public Instance Properties public abstract int[ ] Eras {get; } public virtual int TwoDigitYearMax {set; get; } // Public Instance Methods public virtual DateTime AddDays (DateTime time , int days ); public virtual DateTime AddHours (DateTime time , int hours ); public virtual DateTime AddMilliseconds (DateTime time , double milliseconds ); public virtual DateTime AddMinutes (DateTime time , int minutes ); public abstract DateTime AddMonths (DateTime time , int months ); public virtual DateTime AddSeconds (DateTime time , int seconds ); public virtual DateTime AddWeeks (DateTime time , int weeks ); public abstract DateTime AddYears (DateTime time , int years ); public abstract int GetDayOfMonth (DateTime time ); public abstract DayOfWeek GetDayOfWeek (DateTime time ); public abstract int GetDayOfYear (DateTime time ); public virtual int GetDaysInMonth (int year , int month ); public abstract int GetDaysInMonth (int year , int month , int era ); public virtual int GetDaysInYear (int year ); public abstract int GetDaysInYear (int year , int era ); public abstract int GetEra (DateTime time ); public virtual int GetHour (DateTime time ); public virtual double GetMilliseconds (DateTime time ); public virtual int GetMinute (DateTime time ); public abstract int GetMonth (DateTime time ); public virtual int GetMonthsInYear (int year ); public abstract int GetMonthsInYear (int year , int era ); public virtual int GetSecond (DateTime time ); public virtual int GetWeekOfYear (DateTime time , CalendarWeekRule rule , DayOfWeek firstDayOfWeek ); public abstract int GetYear (DateTime time ); public virtual bool IsLeapDay (int year , int month , int day ); public abstract bool IsLeapDay (int year , int month , int day , int era ); public virtual bool IsLeapMonth (int year , int month ); public abstract bool IsLeapMonth (int year , int month , int era ); public virtual bool IsLeapYear (int year ); public abstract bool IsLeapYear (int year , int era ); public virtual DateTime ToDateTime (int year , int month , int day , int hour , int minute , int second , int millisecond ); public abstract DateTime ToDateTime (int year , int month , int day , int hour , int minute , int second , int millisecond , int era ); public virtual int ToFourDigitYear (int year ); } SubclassesGregorianCalendar , HebrewCalendar , HijriCalendar , JapaneseCalendar , JulianCalendar , KoreanCalendar , TaiwanCalendar , ThaiBuddhistCalendar Returned ByCultureInfo.{Calendar , OptionalCalendars} , DateTimeFormatInfo.Calendar Passed ToSystem.DateTime.DateTime( ) , DateTimeFormatInfo.Calendar |