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

◆ AddMonths()

DateTime System.DateTime.AddMonths ( int months)
inline

Definition at line 452 of file DateTime.cs.

453 {
455 {
456 throw new ArgumentOutOfRangeException("months", SR.ArgumentOutOfRange_DateTimeBadMonths);
457 }
458 GetDate(out var year, out var month, out var day);
459 int num = year;
460 int num2 = day;
461 int num3 = month + months;
462 if (num3 > 0)
463 {
464 int num4 = (int)((uint)(num3 - 1) / 12u);
465 num += num4;
466 num3 -= num4 * 12;
467 }
468 else
469 {
470 num += num3 / 12 - 1;
471 num3 = 12 + num3 % 12;
472 }
473 if (num < 1 || num > 9999)
474 {
476 }
478 uint num5 = array[num3 - 1];
479 int num6 = (int)(array[num3] - num5);
480 if (num2 > num6)
481 {
482 num2 = num6;
483 }
484 uint num7 = (uint)((int)(DaysToYear((uint)num) + num5) + num2 - 1);
485 return new DateTime(((ulong)((long)num7 * 864000000000L) + UTicks % 864000000000L) | InternalKind);
486 }
static void ThrowDateArithmetic(int param)
Definition DateTime.cs:218
static readonly uint[] s_daysToMonth366
Definition DateTime.cs:29
static bool IsLeapYear(int year)
Definition DateTime.cs:898
static uint DaysToYear(uint year)
Definition DateTime.cs:596
static readonly uint[] s_daysToMonth365
Definition DateTime.cs:23
void GetDate(out int year, out int month, out int day)
Definition DateTime.cs:820
ulong InternalKind
Definition DateTime.cs:63

References System.SR.ArgumentOutOfRange_DateTimeBadMonths, System.array, System.DateTime, System.DateTime.DaysToYear(), System.Runtime.Serialization.Dictionary, System.DateTime.GetDate(), System.DateTime.InternalKind, System.DateTime.IsLeapYear(), System.L, System.DateTime.s_daysToMonth365, System.DateTime.s_daysToMonth366, System.DateTime.ThrowDateArithmetic(), System.DateTime.UTicks, and System.year.

Referenced by System.DateTimeOffset.AddMonths().