DateTime.AddMonths(Int32) DateTime.AddMonths(Int32) DateTime.AddMonths(Int32) DateTime.AddMonths(Int32) Method

Definición

Devuelve un nuevo objeto DateTime que suma el número especificado de meses al valor de esta instancia.Returns a new DateTime that adds the specified number of months to the value of this instance.

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 Int32 Int32 Int32

Número de meses.A number of months. El parámetro months puede ser positivo o negativo.The months parameter can be negative or positive.

Devoluciones

Objeto cuyo valor es la suma de la fecha y hora representadas por esta instancia y el tiempo representado por months.An object whose value is the sum of the date and time represented by this instance and months.

Excepciones

El DateTime resultante es menor que MinValue o mayor que MaxValue.The resulting DateTime is less than MinValue or greater than MaxValue.

O bien-or- months es menor que -120.000 o mayor que 120.000.months is less than -120,000 or greater than 120,000.

Ejemplos

El ejemplo siguiente se agrega entre cero y quince meses hasta el último día de diciembre de 2015.The following example adds between zero and fifteen months to the last day of December, 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.In this case, the AddMonths method returns the date of the last day of each month, and successfully handles leap years.

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
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 esta DateTime objeto.This method does not change the value of this DateTime object. En su lugar, devuelve un nuevo DateTime objeto cuyo valor es el resultado de esta operación.Instead, it returns a new DateTime object whose value is the result of this operation.

El AddMonths método calcula el mes resultante y año, teniendo en cuenta los años bisiestos y el número de días del mes, a continuación, ajusta la parte del día del resultante DateTime objeto.The AddMonths method calculates the resulting month and year, taking into account leap years and the number of days in a month, then adjusts the day part of the resulting DateTime object. Si el día resultante no es un día válido del mes resultante, se utiliza el último día válido del mes resultante.If the resulting day is not a valid day in the resulting month, the last valid day of the resulting month is used. Por ejemplo, el 31 de marzo + 1 mes = 30 de abril y el 31 de marzo - 1 mes = 28 de febrero de un año bisiesto y 29 de febrero para un año bisiesto.For example, March 31st + 1 month = April 30th, and March 31st - 1 month = February 28 for a non-leap year and February 29 for a leap year.

La parte de hora del día de resultante DateTime objeto sigue siendo el mismo que esta instancia.The time-of-day part of the resulting DateTime object remains the same as this instance.

Se aplica a