DateTime.AddMonths(Int32) Método

Definição

Retorna um novo DateTime que adiciona o número especificado de meses ao valor dessa instância.

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

Parâmetros

months
Int32

Um número de meses. O parâmetro months pode ser positivo ou negativo.

Retornos

Um objeto cujo valor é a soma da data e hora representada por essa instância e months.

Exceções

O resultado DateTime é menor que DateTime.MinValue ou maior que DateTime.MaxValue.

- ou -

months é menor que -120.000 ou maior que 120.000.

Exemplos

O exemplo a seguir adiciona entre zero e quinze meses ao último dia de dezembro de 2015. Nesse caso, o método AddMonths retorna a data do último dia de cada mês e lida com êxito com anos bissextos.

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

Comentários

Esse método não altera o valor desse DateTime objeto. Em vez disso, retorna um novo DateTime objeto cujo valor é o resultado dessa operação.

O AddMonths método calcula o mês e o ano resultantes, levando em conta os anos bissextos e o número de dias em um mês e, em seguida, ajusta a parte do dia do objeto resultante DateTime . Se o dia resultante não for um dia válido no mês resultante, o último dia válido do mês resultante será usado. Por exemplo, 31 de março + 1 mês = 30 de abril e 31 de março a 1 mês = 28 de fevereiro para um ano não bissexto e 29 de fevereiro para um ano bissexto.

A parte da hora do dia do objeto resultante DateTime permanece a mesma que essa instância.

Aplica-se a