DateTime.AddYears(Int32) Método

Definição

Retorna um novo DateTime que adiciona o número especificado de anos ao valor dessa instância.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

Um número de anos.A number of years. O parâmetro value pode ser positivo ou negativo.The value parameter can be negative or positive.

Retornos

DateTime

Um objeto cujo valor é a soma da data e hora representada por essa instância e o número de anos representado 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.

Exceções

value ou o DateTime resultante é menor que MinValue ou maior que MaxValue.value or the resulting DateTime is less than MinValue or greater than MaxValue.

Comentários

Esse método não altera o valor desse DateTime objeto.This method does not change the value of this DateTime object. Em vez disso, ele retorna um novo DateTime objeto cujo valor é o resultado dessa operação.Instead, it returns a new DateTime object whose value is the result of this operation.

O AddYears método calcula o ano resultante levando em conta anos bissextos.The AddYears method calculates the resulting year taking into account leap years. A parte do mês e da hora do dia do objeto resultante DateTime permanece a mesma que essa instância.The month and time-of-day part of the resulting DateTime object remains the same as this instance.

Se a instância atual representa o dia bissexto em um ano bissexto, o valor de retorno dependerá da data de destino:If the current instance represents the leap day in a leap year, the return value depends on the target date:

  • Se value + DateTime.Year também for um ano bissexto, o valor de retorno representará o dia bissexto nesse ano.If value + DateTime.Year is also a leap year, the return value represents the leap day in that year. Por exemplo, se quatro anos forem adicionados a 29 de fevereiro de 2012, a data retornada será 29 de fevereiro de 2016.For example, if four years is added to February 29, 2012, the date returned is February 29, 2016.

  • Se value + DateTime.Year não for um ano bissexto, o valor de retorno representará o dia antes do dia bissexto nesse ano.If value + DateTime.Year is not a leap year, the return value represents the day before the leap day in that year. Por exemplo, se um ano for adicionado a 29 de fevereiro de 2012, a data retornada será 28 de fevereiro de 2013.For example, if one year is added to February 29, 2012, the date returned is February 28, 2013.

O exemplo a seguir ilustra o uso do AddYears método com um DateTime valor que representa um dia de ano bissexto.The following example illustrates using the AddYears method with a DateTime value that represents a leap year day. Ele exibe a data dos quinze anos antes e os quinze anos que seguem 29 de fevereiro 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

Aplica-se a