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.

异常

注解

此方法不更改此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. 例如, 如果将四年添加到2012年2月29日, 则返回的日期为2016年2月29日。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. 例如, 如果一年添加到2012年2月29日, 则返回的日期为2013年2月28日。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. 它显示了15年之前15年的日期和2000年2月29日之后的十五年。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

适用于