11 0, 31, 59, 90, 120, 151, 181, 212, 243, 273,
17 0, 31, 60, 91, 121, 152, 182, 213, 244, 274,
48 public override int[]
Eras =>
new int[1] { 1 };
63 if (value < 99 || value > 9999)
92 if (
year >= 1 && year <= 9999 && month >= 1 && month <= 12)
95 if (day >= 1 && day <=
array[month] -
array[month - 1])
98 return num * 365 + num / 4 - num / 100 + num / 400 +
array[month - 1] + day - 1;
111 if (months < -120000 || months > 120000)
115 time.
GetDate(out var
year, out var month, out var day);
116 int num = month - 1 + months;
119 month = num % 12 + 1;
124 month = 12 + (num + 1) % 12;
125 year += (num - 11) / 12;
160 if (era != 0 && era != 1)
169 if (era != 0 && era != 1)
192 if (era != 0 && era != 1)
196 if (year < 1 || year > 9999)
219 if ((era != 0 && era != 1) || year < 1 || year > 9999 || month < 1 || month > 12 || day < 1)
224 return day <=
array[month] -
array[month - 1];
229 if (month < 1 || month > 12)
233 if (era != 0 && era != 1)
237 if (year < 1 || year > 9999)
254 if (era != 0 && era != 1)
258 if (year < 1 || year > 9999)
267 if (era != 0 && era != 1)
271 if (year < 1 || year > 9999)
275 if (month < 1 || month > 12)
284 if (era != 0 && era != 1)
291 public override DateTime ToDateTime(
int year,
int month,
int day,
int hour,
int minute,
int second,
int millisecond,
int era)
293 if (era != 0 && era != 1)
297 return new DateTime(
year, month, day, hour, minute, second, millisecond);
300 internal override bool TryToDateTime(
int year,
int month,
int day,
int hour,
int minute,
int second,
int millisecond,
int era, out
DateTime result)
302 if (era != 0 && era != 1)
320 return base.ToFourDigitYear(
year);
static void CheckAddResult(long ticks, DateTime minValue, DateTime maxValue)
static int GetSystemTwoDigitYearSetting(CalendarId CalID, int defaultYearValue)
override int GetEra(DateTime time)
static volatile Calendar s_defaultInstance
override CalendarAlgorithmType AlgorithmType
override bool TryToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era, out DateTime result)
override bool IsLeapDay(int year, int month, int day, int era)
override int GetMonthsInYear(int year, int era)
static readonly int[] DaysToMonth366
static readonly int[] DaysToMonth365
override int ToFourDigitYear(int year)
static long GetAbsoluteDate(int year, int month, int day)
override bool IsValidYear(int year, int era)
override int GetMonth(DateTime time)
override DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era)
override bool IsValidDay(int year, int month, int day, int era)
override DateTime MaxSupportedDateTime
GregorianCalendar(GregorianCalendarTypes type)
override int GetDayOfMonth(DateTime time)
override int GetDaysInYear(int year, int era)
override int TwoDigitYearMax
override DateTime MinSupportedDateTime
virtual long DateToTicks(int year, int month, int day)
override int GetYear(DateTime time)
virtual GregorianCalendarTypes CalendarType
override int GetLeapMonth(int year, int era)
override DateTime AddYears(DateTime time, int years)
override bool IsLeapMonth(int year, int month, int era)
override DateTime AddMonths(DateTime time, int months)
override DayOfWeek GetDayOfWeek(DateTime time)
static Calendar GetDefaultInstance()
override int GetDayOfYear(DateTime time)
GregorianCalendarTypes _type
override int GetDaysInMonth(int year, int month, int era)
override bool IsLeapYear(int year, int era)
static string ArgumentOutOfRange_Range
static string ArgumentOutOfRange_BadYearMonthDay
static string Format(string resourceFormat, object p1)
static string ArgumentOutOfRange_NeedNonNegNum
static string ArgumentOutOfRange_InvalidEraValue
static readonly DateTime MaxValue
static readonly DateTime MinValue
static bool TryCreate(int year, int month, int day, int hour, int minute, int second, int millisecond, out DateTime result)
static int DaysInMonth(int year, int month)
static bool IsLeapYear(int year)
void GetDate(out int year, out int month, out int day)