Описание класса для представления даты - C#

Узнай цену своей работы

Формулировка задачи:

Доброго дня, не могли бы помочь разобрать в куске этого кода, а именно
 int datePart1 = GetDatePart(0);
            int datePart2 = GetDatePart(2);
для чего это?
 public DateTime AddMonths(int months)
        {
            if (months < -120000 || months > 120000)
                throw new ArgumentOutOfRangeException("months");
            int datePart1 = GetDatePart(0);
            int datePart2 = GetDatePart(2);
            int day = GetDatePart(3);
            int num1 = datePart2 - 1 + months;
            int month;
            int year;
            if (num1 >= 0)
            {
                month = num1%12 + 1;
                year = datePart1 + num1/12;
            }
            else
            {
                month = 12 + (num1 + 1)%12;
                year = datePart1 + (num1 - 11)/12;
            }
            if (year < 1 || year > 9999)
                throw new ArgumentOutOfRangeException("months");
            int num2 = DaysInMonth(year, month);
            if (day > num2)
                day = num2;
            return new DateTime((ulong) (DateToTicks(year, month, day) + InternalTicks%864000000000L) | InternalKind);
        }

Решение задачи: «Описание класса для представления даты»

textual
Листинг программы
GetDatePart();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы