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 объекта остается такой же, как и в этом экземпляре.