37 public abstract int[]
Eras {
get; }
56 object obj = MemberwiseClone();
91 if (ticks < minValue.Ticks || ticks > maxValue.
Ticks)
99 double num =
value * (double)scale + ((
value >= 0.0) ? 0.5 : (-0.5));
100 if (!(num > -315537897600000.0) || !(num < 315537897600000.0))
104 long num2 = (long)num;
105 long ticks = time.Ticks + num2 * 10000;
112 return Add(time, milliseconds, 1);
117 return Add(time, days, 86400000);
122 return Add(time, hours, 3600000);
127 return Add(time, minutes, 60000);
134 return Add(time, seconds, 1000);
139 return AddDays(time, weeks * 7);
168 return (
int)(time.Ticks / 36000000000
L % 24);
173 return time.Ticks / 10000 % 1000;
178 return (
int)(time.Ticks / 600000000 % 60);
192 return (
int)(time.Ticks / 10000000 % 60);
199 int num3 = (num2 - firstDayOfWeek + 14) % 7;
200 return (num + num3) / 7 + 1;
207 int num3 = (firstDayOfWeek - num2 + 14) % 7;
208 if (num3 != 0 && num3 >= fullDays)
212 int num4 = num - num3;
228 int num3 = (firstDayOfWeek + 7 - num2) % 7;
229 if (num3 == 0 || num3 >= minimumDaysInFirstWeek)
234 int num5 = num2 - 1 - num4 % 7;
235 int num6 = (firstDayOfWeek - num5 + 14) % 7;
236 int num7 = num4 - num6;
237 if (num6 >= minimumDaysInFirstWeek)
246 if (firstDayOfWeek < DayOfWeek.Sunday || firstDayOfWeek >
DayOfWeek.Saturday)
287 for (
int i = 1; i <= monthsInYear; i++)
306 return ToDateTime(
year, month, day, hour, minute, second, millisecond, 0);
309 public abstract DateTime ToDateTime(
int year,
int month,
int day,
int hour,
int minute,
int second,
int millisecond,
int era);
311 internal virtual bool TryToDateTime(
int year,
int month,
int day,
int hour,
int minute,
int second,
int millisecond,
int era, out
DateTime result)
316 result =
ToDateTime(
year, month, day, hour, minute, second, millisecond, era);
365 internal static long TimeToTicks(
int hour,
int minute,
int second,
int millisecond)
367 if (hour < 0 || hour >= 24 || minute < 0 || minute >= 60 || second < 0 || second >= 60)
371 if (millisecond < 0 || millisecond >= 1000)
383 return defaultYearValue;
static int GetCalendarCurrentEra(Calendar calendar)
static int IcuGetTwoDigitYearMax(CalendarId calendarId)
static int NlsGetTwoDigitYearMax(CalendarId calendarId)
virtual bool IsLeapDay(int year, int month, int day)
virtual int GetHour(DateTime time)
DateTime AddMonths(DateTime time, int months)
virtual DateTime AddHours(DateTime time, int hours)
virtual int GetWeekOfYear(DateTime time, CalendarWeekRule rule, DayOfWeek firstDayOfWeek)
static Calendar ReadOnly(Calendar calendar)
bool IsLeapDay(int year, int month, int day, int era)
virtual DateTime AddDays(DateTime time, int days)
virtual DateTime MaxSupportedDateTime
virtual int ToFourDigitYear(int year)
virtual bool IsValidYear(int year, int era)
virtual bool IsLeapYear(int year)
virtual DateTime AddSeconds(DateTime time, int seconds)
virtual DateTime AddMinutes(DateTime time, int minutes)
int GetFirstDayWeekOfYear(DateTime time, int firstDayOfWeek)
int GetWeekOfYearFullDays(DateTime time, int firstDayOfWeek, int fullDays)
bool IsLeapMonth(int year, int month, int era)
virtual int GetLeapMonth(int year)
static long TimeToTicks(int hour, int minute, int second, int millisecond)
virtual bool IsValidMonth(int year, int month, int era)
int GetDaysInMonth(int year, int month, int era)
virtual bool IsValidDay(int year, int month, int day, int era)
virtual int TwoDigitYearMax
virtual DateTime AddMilliseconds(DateTime time, double milliseconds)
DayOfWeek GetDayOfWeek(DateTime time)
virtual int CurrentEraValue
virtual DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond)
int GetDayOfYear(DateTime time)
int GetYear(DateTime time)
int GetWeekOfYearOfMinSupportedDateTime(int firstDayOfWeek, int minimumDaysInFirstWeek)
virtual DateTime MinSupportedDateTime
virtual int GetMonthsInYear(int year)
virtual int GetDaysInMonth(int year, int month)
int GetDayOfMonth(DateTime time)
virtual DateTime AddWeeks(DateTime time, int weeks)
static void CheckAddResult(long ticks, DateTime minValue, DateTime maxValue)
int GetDaysInYear(int year, int era)
virtual CalendarAlgorithmType AlgorithmType
int GetMonth(DateTime time)
virtual CalendarId BaseCalendarID
virtual int DaysInYearBeforeMinSupportedYear
virtual int GetDaysInYear(int year)
DateTime AddYears(DateTime time, int years)
virtual int GetLeapMonth(int year, int era)
virtual bool TryToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era, out DateTime result)
void SetReadOnlyState(bool readOnly)
virtual int GetMinute(DateTime time)
virtual int GetSecond(DateTime time)
int GetMonthsInYear(int year, int era)
int GetEra(DateTime time)
DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era)
virtual double GetMilliseconds(DateTime time)
virtual bool IsLeapMonth(int year, int month)
bool IsLeapYear(int year, int era)
DateTime Add(DateTime time, double value, int scale)
static int GetSystemTwoDigitYearSetting(CalendarId CalID, int defaultYearValue)
static long TimeToTicks(int hour, int minute, int second)
static string ArgumentOutOfRange_Range
static string ArgumentOutOfRange_AddValue
static string Format(string resourceFormat, object p1)
static string ArgumentOutOfRange_BadHourMinuteSecond
static string Argument_ResultCalendarRange
static string InvalidOperation_ReadOnly
static string ArgumentOutOfRange_NeedNonNegNum
static readonly DateTime MaxValue
static readonly DateTime MinValue
DateTime AddDays(double value)