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

Определение

Возвращает новый объект DateTime, добавляющий заданное число лет к значению данного экземпляра.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

Параметры

value
Int32 Int32 Int32 Int32

Число лет.A number of years. Параметр value может быть положительным или отрицательным.The value parameter can be negative or positive.

Возвраты

Объект, значение которого равно сумме даты и времени, представленных текущим экземпляром, и количества лет, представленного параметром 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.

Исключения

value или итоговое значение DateTime меньше MinValue или больше MaxValue.value or the resulting DateTime is less than MinValue or greater than MaxValue.

Комментарии

Этот метод не изменяет значение этой DateTime объекта.This method does not change the value of this DateTime object. Вместо этого он возвращает новый DateTime объект, значение которого является результатом этой операции.Instead, it returns a new DateTime object whose value is the result of this operation.

AddYears Метод вычисляет года учетом високосного года.The AddYears method calculates the resulting year taking into account leap years. Месяц и время суток частью итогового DateTime объект остается таким же, как этот экземпляр.The month and time-of-day part of the resulting DateTime object remains the same as this instance.

Если текущий экземпляр представляет високосным днем в високосном году, возвращаемое значение зависит от целевая дата.If the current instance represents the leap day in a leap year, the return value depends on the target date:

  • Если value + DateTime.Year также является високосным годом, то возвращаемое значение представляет високосным днем года.If value + DateTime.Year is also a leap year, the return value represents the leap day in that year. Например если четыре года добавляется до 29 февраля 2012, даты, возвращаемой используется 29 февраля 2016 г.For example, if four years is added to February 29, 2012, the date returned is February 29, 2016.

  • Если value + DateTime.Year не является високосным годом, то возвращаемое значение представляет за предыдущий день високосным днем года.If value + DateTime.Year is not a leap year, the return value represents the day before the leap day in that year. Например при добавлении одного года 29 февраля 2012 г., даты, возвращаемой — 28 февраля 2013 г.For example, if one year is added to February 29, 2012, the date returned is February 28, 2013.

В следующем примере демонстрируется использование AddYears метод с DateTime значение, представляющее день високосным годом.The following example illustrates using the AddYears method with a DateTime value that represents a leap year day. Он отображает дату для Пятнадцать лет до версии и уже Пятнадцать лет, следующие за 29 февраля 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

Применяется к