DateTime.AddMonths(Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.