DateTime.AddYears(Int32) Metoda

Definicja

Zwraca nowy DateTime , który dodaje określoną liczbę lat do wartości tego wystąpienia.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

Parametry

value
Int32

Liczba lat.A number of years. valueParametr może mieć wartość ujemną lub dodatnią.The value parameter can be negative or positive.

Zwraca

DateTime

Obiekt, którego wartość jest sumą daty i godziny reprezentowanej przez to wystąpienie oraz liczbę lat reprezentowane przez 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.

Wyjątki

value lub wyniki DateTime są mniejsze niż MinValue lub większe niż MaxValue .value or the resulting DateTime is less than MinValue or greater than MaxValue.

Uwagi

Ta metoda nie zmienia wartości tego DateTime obiektu.This method does not change the value of this DateTime object. Zamiast tego zwraca nowy obiekt, DateTime którego wartość jest wynikiem tej operacji.Instead, it returns a new DateTime object whose value is the result of this operation.

AddYearsMetoda oblicza rok wynikający z uwzględnienia lat przestępnych.The AddYears method calculates the resulting year taking into account leap years. Część "miesiąc" i "godzina" obiektu będącego wynikiem jest taka DateTime sama jak to wystąpienie.The month and time-of-day part of the resulting DateTime object remains the same as this instance.

Jeśli bieżące wystąpienie reprezentuje dzień przestępny w roku przestępnym, wartość zwracana jest zależna od daty docelowej:If the current instance represents the leap day in a leap year, the return value depends on the target date:

  • Jeśli value + DateTime.Year jest to również rok przestępny, wartość zwracana reprezentuje dzień przestępny w tym roku.If value + DateTime.Year is also a leap year, the return value represents the leap day in that year. Na przykład jeśli cztery lata zostaną dodane do 29 lutego 2012, zwrócona Data to 29 lutego 2016.For example, if four years is added to February 29, 2012, the date returned is February 29, 2016.

  • Jeśli value + DateTime.Year nie jest rokiem przestępnym, wartość zwracana reprezentuje dzień wcześniejszy niż dzień przestępny w tym roku.If value + DateTime.Year is not a leap year, the return value represents the day before the leap day in that year. Na przykład jeśli jeden rok zostanie dodany do 29 lutego 2012, zwrócona Data to 28 lutego 2013.For example, if one year is added to February 29, 2012, the date returned is February 28, 2013.

Poniższy przykład ilustruje użycie AddYears metody z DateTime wartością, która reprezentuje dzień roku przestępnego.The following example illustrates using the AddYears method with a DateTime value that represents a leap year day. Wyświetla datę 15 lat przed i piętnaście lat, które są zgodne z 29 lutego 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

Dotyczy