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

◆ AddYears()

DateTime System.DateTime.AddYears ( int value)
inline

Definition at line 515 of file DateTime.cs.

516 {
518 {
519 throw new ArgumentOutOfRangeException("value", SR.ArgumentOutOfRange_DateTimeBadYears);
520 }
521 GetDate(out var year, out var month, out var day);
522 int num = year + value;
523 if (num < 1 || num > 9999)
524 {
526 }
527 uint num2 = DaysToYear((uint)num);
528 int num3 = month - 1;
529 int num4 = day - 1;
530 if (IsLeapYear(num))
531 {
533 }
534 else
535 {
536 if (num4 == 28 && num3 == 1)
537 {
538 num4--;
539 }
541 }
542 num2 += (uint)num4;
543 return new DateTime(((ulong)((long)num2 * 864000000000L) + UTicks % 864000000000L) | InternalKind);
544 }
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_DateTimeBadYears, 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, System.value, and System.year.

Referenced by System.DateTimeOffset.AddYears(), and System.TimeZoneInfo.CheckIsDst().