Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ AddMonths()

override DateTime System.Globalization.HebrewCalendar.AddMonths ( DateTime time,
int months )
inline

Definition at line 335 of file HebrewCalendar.cs.

336 {
337 try
338 {
339 int num = GetDatePart(time.Ticks, 0);
340 int datePart = GetDatePart(time.Ticks, 2);
341 int num2 = GetDatePart(time.Ticks, 3);
342 int num3;
343 if (months >= 0)
344 {
345 int monthsInYear;
346 for (num3 = datePart + months; num3 > (monthsInYear = GetMonthsInYear(num, 0)); num3 -= monthsInYear)
347 {
348 num++;
349 }
350 }
351 else if ((num3 = datePart + months) <= 0)
352 {
353 months = -months;
354 months -= datePart;
355 num--;
356 int monthsInYear;
357 while (months > (monthsInYear = GetMonthsInYear(num, 0)))
358 {
359 num--;
360 months -= monthsInYear;
361 }
362 monthsInYear = GetMonthsInYear(num, 0);
363 num3 = monthsInYear - months;
364 }
365 int daysInMonth = GetDaysInMonth(num, num3);
366 if (num2 > daysInMonth)
367 {
368 num2 = daysInMonth;
369 }
370 return new DateTime(ToDateTime(num, num3, num2, 0, 0, 0, 0).Ticks + time.Ticks % 864000000000L);
371 }
372 catch (ArgumentException)
373 {
374 throw new ArgumentOutOfRangeException("months", months, SR.ArgumentOutOfRange_AddValue);
375 }
376 }
override DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era)
override int GetDaysInMonth(int year, int month, int era)
virtual int GetDatePart(long ticks, int part)
override int GetMonthsInYear(int year, int era)

References System.SR.ArgumentOutOfRange_AddValue, System.DateTime, System.Globalization.HebrewCalendar.GetDatePart(), System.Globalization.HebrewCalendar.GetDaysInMonth(), System.Globalization.HebrewCalendar.GetMonthsInYear(), System.L, System.DateTime.Ticks, and System.Globalization.HebrewCalendar.ToDateTime().