9 0, 31, 59, 90, 120, 151, 181, 212, 243, 273,
15 0, 31, 60, 91, 121, 152, 182, 213, 244, 274,
40 if (value < 99 || value >
MaxYear)
64 if (year <= 0 || year >
MaxYear)
72 if (month < 1 || month > 12)
80 if (
year == 1 && month == 1 && day < 3)
86 if (day < 1 || day > num)
94 long num = ticks + 1728000000000
L;
95 int num2 = (int)(num / 864000000000
L);
96 int num3 = num2 / 1461;
98 int num4 = num2 / 365;
105 return num3 * 4 + num4 + 1;
114 for (i = (num2 >> 5) + 1; num2 >=
array[i]; i++)
121 return num2 -
array[i - 1] + 1;
128 int num2 = num * 365 + num / 4 +
array[month - 1] + day - 1;
129 return (num2 - 2) * 864000000000
L;
134 if (months < -120000 || months > 120000)
141 int num2 = datePart2 - 1 + months;
144 datePart2 = num2 % 12 + 1;
145 datePart += num2 / 12;
149 datePart2 = 12 + (num2 + 1) % 12;
150 datePart += (num2 - 11) / 12;
153 int num3 =
array[datePart2] -
array[datePart2 - 1];
158 long ticks =
DateToTicks(datePart, datePart2, num) + time.Ticks % 864000000000
L;
253 return year % 4 == 0;
256 public override DateTime ToDateTime(
int year,
int month,
int day,
int hour,
int minute,
int second,
int millisecond,
int era)
261 if (millisecond < 0 || millisecond >= 1000)
265 if (hour < 0 || hour >= 24 || minute < 0 || minute >= 60 || second < 0 || second >= 60)
256 public override DateTime ToDateTime(
int year,
int month,
int day,
int hour,
int minute,
int second,
int millisecond,
int era) {
…}
282 return base.ToFourDigitYear(
year);
static void CheckAddResult(long ticks, DateTime minValue, DateTime maxValue)
override DateTime AddMonths(DateTime time, int months)
override int GetDaysInYear(int year, int era)
static readonly int[] s_daysToMonth365
override bool IsLeapYear(int year, int era)
override DayOfWeek GetDayOfWeek(DateTime time)
override CalendarAlgorithmType AlgorithmType
static readonly int[] s_daysToMonth366
override int GetDaysInMonth(int year, int month, int era)
override DateTime AddYears(DateTime time, int years)
static int GetDatePart(long ticks, int part)
override int GetMonth(DateTime time)
override DateTime MaxSupportedDateTime
static void CheckMonthRange(int month)
override int GetDayOfMonth(DateTime time)
override int GetYear(DateTime time)
static long DateToTicks(int year, int month, int day)
override int GetLeapMonth(int year, int era)
override bool IsLeapMonth(int year, int month, int era)
override int GetMonthsInYear(int year, int era)
static void CheckDayRange(int year, int month, int day)
override int TwoDigitYearMax
override int ToFourDigitYear(int year)
override DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era)
static void CheckEraRange(int era)
static readonly int JulianEra
override bool IsLeapDay(int year, int month, int day, int era)
override int GetEra(DateTime time)
void CheckYearEraRange(int year, int era)
override int GetDayOfYear(DateTime time)
override DateTime MinSupportedDateTime
static string ArgumentOutOfRange_Range
static string ArgumentOutOfRange_BadYearMonthDay
static string Format(string resourceFormat, object p1)
static string ArgumentOutOfRange_BadHourMinuteSecond
static string ArgumentOutOfRange_NeedNonNegNum
static string ArgumentOutOfRange_InvalidEraValue
static string ArgumentOutOfRange_Bounds_Lower_Upper
static void ThrowArgumentOutOfRange_Month(int month)
static readonly DateTime MaxValue
static readonly DateTime MinValue