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

Definizione

Restituisce un nuovo oggetto DateTime che aggiunge il numero specificato di anni al valore di questa istanza.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

Parametri

value
Int32 Int32 Int32 Int32

Numero di anni.A number of years. Il parametro value può essere negativo o positivo.The value parameter can be negative or positive.

Restituisce

Oggetto il cui valore è la somma della data e dell'ora rappresentate dall'istanza e del numero di anni rappresentato da 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.

Eccezioni

value o il valore risultante di DateTime è minore di MinValue o maggiore di MaxValue.value or the resulting DateTime is less than MinValue or greater than MaxValue.

Commenti

Questo metodo non modifica il valore di questo DateTime oggetto.This method does not change the value of this DateTime object. Viene invece restituito un nuovo DateTime oggetto il cui valore è il risultato di questa operazione.Instead, it returns a new DateTime object whose value is the result of this operation.

Il AddYears metodo calcola l'anno risultante tenendo conto degli anni bisestili.The AddYears method calculates the resulting year taking into account leap years. La parte relativa al mese e all'ora del giorno dell'oggetto DateTime risultante rimane identica a questa istanza.The month and time-of-day part of the resulting DateTime object remains the same as this instance.

Se l'istanza corrente rappresenta il giorno intercalare in un anno bisestile, il valore restituito dipende dalla data di destinazione:If the current instance represents the leap day in a leap year, the return value depends on the target date:

  • Se value èancheunDateTime.Year anno bisestile, il valore restituito rappresenta il giorno intercalare nell'anno. + If value + DateTime.Year is also a leap year, the return value represents the leap day in that year. Ad esempio, se quattro anni vengono aggiunti al 29 febbraio 2012, la data restituita è il 29 febbraio 2016.For example, if four years is added to February 29, 2012, the date returned is February 29, 2016.

  • Se value nonèunDateTime.Year anno bisestile, il valore restituito rappresenta il giorno prima del giorno intercalare nell'anno. + If value + DateTime.Year is not a leap year, the return value represents the day before the leap day in that year. Se ad esempio viene aggiunto un anno al 29 febbraio 2012, la data restituita è il 28 febbraio 2013.For example, if one year is added to February 29, 2012, the date returned is February 28, 2013.

Nell'esempio seguente viene illustrato l'utilizzo AddYears del metodo con DateTime un valore che rappresenta il giorno di un anno bisestile.The following example illustrates using the AddYears method with a DateTime value that represents a leap year day. Visualizza la data per i quindici anni precedenti a e i 15 anni successivi al 29 febbraio 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

Si applica a