DateTime.AddYears(Int32) DateTime.AddYears(Int32) DateTime.AddYears(Int32) DateTime.AddYears(Int32) Method

Definición

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

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

Parámetros

value
Int32 Int32 Int32 Int32

Número de años.A number of years. El parámetro value puede ser positivo o negativo.The value parameter can be negative or positive.

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.An object whose value is the sum of the date and time represented by this instance and the number of years represented by value.

Excepciones

value o el DateTime resultante es menor que MinValue o mayor que MaxValue.value or the resulting DateTime is less than MinValue or greater than MaxValue.

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 AddYears método calcula el año resultante teniendo en cuenta los años bisiestos.The AddYears method calculates the resulting year taking into account leap years. La parte de mes y la hora del día de resultante DateTime objeto sigue siendo el mismo que esta instancia.The month and time-of-day part of the resulting DateTime object remains the same as this instance.

Si la instancia actual representa el día bisiesto de un año bisiesto, el valor devuelto depende de la fecha objetivo:If the current instance represents the leap day in a leap year, the return value depends on the target date:

  • Si value + DateTime.Year también es un año bisiesto, el valor devuelto representa el día en ese año bisiesto.If value + DateTime.Year is also a leap year, the return value represents the leap day in that year. Por ejemplo, si se agrega desde hace cuatro años a 29 de febrero de 2012, la fecha devuelta es 29 de febrero de 2016.For example, if four years is added to February 29, 2012, the date returned is February 29, 2016.

  • Si value + DateTime.Year no es un año bisiesto, el valor devuelto representa el día antes del día bisiesto en ese año.If value + DateTime.Year is not a leap year, the return value represents the day before the leap day in that year. Por ejemplo, si se agrega un año a 29 de febrero de 2012, la fecha devuelta es el 28 de febrero de 2013.For example, if one year is added to February 29, 2012, the date returned is February 28, 2013.

El ejemplo siguiente se muestra cómo utilizar el AddYears método con un DateTime valor que representa un día bisiesto.The following example illustrates using the AddYears method with a DateTime value that represents a leap year day. Muestra la fecha de los quince años anteriores a y los quince años que siguen el 29 de febrero de 2000.It displays the date for the fifteen years prior to and the fifteen years that follow February 29, 2000.

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
Module Example
   Public Sub Main()
      Dim baseDate As Date = #2/29/2000#
      Console.WriteLine("    Base Date:        {0:d}", baseDate)
      Console.WriteLine()
      
      ' Show dates of previous fifteen years.
      For ctr As Integer = -1 To -15 Step -1
         Console.WriteLine("{0,3} years ago:        {1:d}", 
                           ctr, baseDate.AddYears(ctr))
      Next
      Console.WriteLine()
      ' Show dates of next fifteen years.
      For ctr As Integer = 1 To 15
         Console.WriteLine("{0,3} years from now:   {1:d}", 
                           ctr, baseDate.AddYears(ctr))
      Next      
   End Sub
End Module
' 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