DateTime.AddMonths(Int32) Метод

Определение

Возвращает новый объект DateTime, добавляющий заданное число месяцев к значению данного экземпляра.

public:
 DateTime AddMonths(int months);
public DateTime AddMonths (int months);
member this.AddMonths : int -> DateTime
Public Function AddMonths (months As Integer) As DateTime

Параметры

months
Int32

Число месяцев. Параметр months может быть положительным или отрицательным.

Возвращаемое значение

Объект, значением которого является сумма даты и времени, представленных этим экземпляром, и значения, представленного параметром months.

Исключения

Результат DateTime меньше DateTime.MinValue или больше DateTime.MaxValue.

-или-

Параметр months имеет значение меньше –120 000 или больше 120 000.

Примеры

В следующем примере к последнему дню декабря 2015 г. добавляется от нуля до пятнадцати месяцев. В этом случае метод AddMonths возвращает дату последнего дня каждого месяца и успешно обрабатывает високосные годы.

using System;

public class Example
{
   public static void Main()
   {
      var dat = new DateTime(2015, 12, 31);
      for (int ctr = 0; ctr <= 15; ctr++)
         Console.WriteLine(dat.AddMonths(ctr).ToString("d"));
   }
}
// The example displays the following output:
//       12/31/2015
//       1/31/2016
//       2/29/2016
//       3/31/2016
//       4/30/2016
//       5/31/2016
//       6/30/2016
//       7/31/2016
//       8/31/2016
//       9/30/2016
//       10/31/2016
//       11/30/2016
//       12/31/2016
//       1/31/2017
//       2/28/2017
//       3/31/2017
open System

let dat = DateTime(2015, 12, 31)
for i = 0 to 15 do
    printfn $"{dat.AddMonths i:d}"

// The example displays the following output:
//       12/31/2015
//       1/31/2016
//       2/29/2016
//       3/31/2016
//       4/30/2016
//       5/31/2016
//       6/30/2016
//       7/31/2016
//       8/31/2016
//       9/30/2016
//       10/31/2016
//       11/30/2016
//       12/31/2016
//       1/31/2017
//       2/28/2017
//       3/31/2017
Module Example
   Public Sub Main()
      Dim dat As Date = #12/31/2015#
      For ctr As Integer = 0 To 15
         Console.WriteLine(dat.AddMonths(ctr).ToString("d"))
      Next
   End Sub
End Module
' The example displays the following output:
'       12/31/2015
'       1/31/2016
'       2/29/2016
'       3/31/2016
'       4/30/2016
'       5/31/2016
'       6/30/2016
'       7/31/2016
'       8/31/2016
'       9/30/2016
'       10/31/2016
'       11/30/2016
'       12/31/2016
'       1/31/2017
'       2/28/2017
'       3/31/2017

Комментарии

Этот метод не изменяет значение этого DateTime объекта. Вместо этого он возвращает новый DateTime объект, значение которого является результатом этой операции.

Метод AddMonths вычисляет результирующий месяц и год с учетом високосных лет и количества дней в месяце, а затем корректирует дневную часть результирующего DateTime объекта. Если результирующий день не является допустимым днем в результирующем месяце, используется последний допустимый день результирующего месяца. Например, 31 марта + 1 месяц = 30 апреля, а 31 марта - 1 месяц = 28 февраля для не високосного года и 29 февраля для високосного года.

Временная часть результирующего DateTime объекта остается такой же, как и в этом экземпляре.

Применяется к