Compartir a través de


DateTime.AddMonths(Int32) Método

Definición

Devuelve un nuevo objeto DateTime que suma el número especificado de meses al valor de esta instancia.

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

Número de meses. El parámetro months puede ser positivo o negativo.

Devoluciones

Objeto cuyo valor es la suma de la fecha y hora representadas por esta instancia y el tiempo representado por months.

Excepciones

El resultado DateTime es menor que DateTime.MinValue o mayor que DateTime.MaxValue.

o bien

months es menor que -120.000 o mayor que 120.000.

Ejemplos

En el ejemplo siguiente se agregan entre cero y quince meses al último día de diciembre de 2015. En este caso, el método AddMonths devuelve la fecha del último día de cada mes y controla correctamente los años bisiestos.

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

Comentarios

Este método no cambia el valor de este DateTime objeto. En su lugar, devuelve un nuevo DateTime objeto cuyo valor es el resultado de esta operación.

El AddMonths método calcula el mes y el año resultantes, teniendo en cuenta los años bisiestos y el número de días de un mes, ajusta la parte del día del objeto resultante DateTime . Si el día resultante no es un día válido en el mes resultante, se usa el último día válido del mes resultante. Por ejemplo, el 31 de marzo + 1 mes = 30 de abril y el 31 de marzo - 1 mes = 28 de febrero para un año no bisiesto y el 29 de febrero para un año bisiesto.

La parte de hora del día del objeto resultante DateTime sigue siendo la misma que esta instancia.

Se aplica a