Ler en inglés

Compartir por


DateTime.AddYears(Int32) Método

Definición

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

C#
public DateTime AddYears(int value);

Parámetros

value
Int32

Número de años. El parámetro value puede ser positivo o negativo.

Devoluciones

Un objeto cuyo valor es la suma de la fecha y hora representadas por esta instancia y el número de años representados por value.

Excepciones

value o el resultado DateTime es menor que DateTime.MinValue o mayor que DateTime.MaxValue.

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 AddYears método calcula el año resultante teniendo en cuenta los años bisiestos. La parte mes y hora del día del objeto resultante DateTime permanecen iguales que esta instancia.

Si la instancia actual representa el día bisiesto en un año bisiesto, el valor devuelto depende de la fecha de destino:

  • Si value + DateTime.Year también es un año bisiesto, el valor devuelto representa el día bisiesto de ese año. Por ejemplo, si se agregan cuatro años al 29 de febrero de 2012, la fecha devuelta es el 29 de febrero de 2016.

  • Si value + DateTime.Year no es un año bisiesto, el valor devuelto representa el día anterior al día bisiesto de ese año. Por ejemplo, si se agrega un año al 29 de febrero de 2012, la fecha devuelta es el 28 de febrero de 2013.

En el ejemplo siguiente se muestra el uso del AddYears método con un DateTime valor que representa un día bisiesto del año. Muestra la fecha de los quince años anteriores a y los quince años siguientes al 29 de febrero de 2000.

C#
using System;

public class Example
{
   public static void Main()
   {
      DateTime baseDate = new DateTime(2000, 2, 29);
      Console.WriteLine("    Base Date:        {0:d}\n", baseDate);

      // Show dates of previous fifteen years.
      for (int ctr = -1; ctr >= -15; ctr--)
         Console.WriteLine("{0,2} year(s) ago:        {1:d}",
                           Math.Abs(ctr), baseDate.AddYears(ctr));
      Console.WriteLine();

      // Show dates of next fifteen years.
      for (int ctr = 1; ctr <= 15; ctr++)
         Console.WriteLine("{0,2} year(s) from now:   {1:d}",
                           ctr, baseDate.AddYears(ctr));
   }
}
// The example displays the following output:
//           Base Date:        2/29/2000
//
//        1 year(s) ago:        2/28/1999
//        2 year(s) ago:        2/28/1998
//        3 year(s) ago:        2/28/1997
//        4 year(s) ago:        2/29/1996
//        5 year(s) ago:        2/28/1995
//        6 year(s) ago:        2/28/1994
//        7 year(s) ago:        2/28/1993
//        8 year(s) ago:        2/29/1992
//        9 year(s) ago:        2/28/1991
//       10 year(s) ago:        2/28/1990
//       11 year(s) ago:        2/28/1989
//       12 year(s) ago:        2/29/1988
//       13 year(s) ago:        2/28/1987
//       14 year(s) ago:        2/28/1986
//       15 year(s) ago:        2/28/1985
//
//        1 year(s) from now:   2/28/2001
//        2 year(s) from now:   2/28/2002
//        3 year(s) from now:   2/28/2003
//        4 year(s) from now:   2/29/2004
//        5 year(s) from now:   2/28/2005
//        6 year(s) from now:   2/28/2006
//        7 year(s) from now:   2/28/2007
//        8 year(s) from now:   2/29/2008
//        9 year(s) from now:   2/28/2009
//       10 year(s) from now:   2/28/2010
//       11 year(s) from now:   2/28/2011
//       12 year(s) from now:   2/29/2012
//       13 year(s) from now:   2/28/2013
//       14 year(s) from now:   2/28/2014
//       15 year(s) from now:   2/28/2015

Se aplica a

Produto Versións
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0