此方法用于返回新的DateTime,该日期将指定的年数添加到此实例的值中。
用法:
public DateTime AddYears (int value);
在这里,值是年数。值参数可以为负或正。
返回值:此方法返回一个对象,该对象的值是此实例表示的日期和时间与值表示的年数之和。
异常:如果生成的DateTime小于MinValue或大于MaxValue,则此方法将提供ArgumentOutOfRangeException。
以下示例程序旨在说明DateTime.AddYears(Int32)方法的用法:
示例1:
// C# program to demonstrate the
// DateTime.AddYears(Int32) Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
try {
// creating object of DateTime
DateTime date1 = new DateTime(2010, 1, 1,
4, 0, 15);
// adding the 8 Months
// using AddYears() method;
DateTime date2 = date1.AddYears(8);
// Display the date1
Console.WriteLine("DateTime before operation: "
+ "{0:y} {0:dd}", date1);
// Display the date2
Console.WriteLine("\nDateTime after operation: "
+ "{0:y} {0:dd}", date2);
}
catch (ArgumentOutOfRangeException e)
{
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
输出:
DateTime before operation: 2010 January 01 DateTime after operation: 2018 January 01
示例2:对于ArgumentOutOfRangeException
// C# program to demonstrate the
// DateTime.AddYears(Int32) Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
try {
// creating object of DateTime
// and initialize with MinValue
DateTime date1 = DateTime.MaxValue;
// Display the date1
Console.WriteLine("DateTime before operation: "
+ "{0:y} {0:dd}", date1);
// adding the TimeSpan of 8 Years
// using AddYears() method;
DateTime date2 = date1.AddYears(5);
// Display the date2
Console.WriteLine("DateTime before operation: "
+ "{0:y} {0:dd}", date2);
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine("\nThe resulting DateTime is "+
"greater than the DateTime.MaxValue ");
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
输出:
DateTime before operation: 9999 December 31 The resulting DateTime is greater than the DateTime.MaxValue Exception Thrown: System.ArgumentOutOfRangeException
注意:
- 此方法不会更改此DateTime对象的值。而是返回一个新的DateTime对象,其值是此操作的结果。
- 此方法在考虑leap年的情况下计算得出的年份。生成的DateTime对象的month和time-of-day部分与此实例保持相同。
- 如果当前实例表示a年中的the日,则返回值取决于目标日期:
- 如果value + DateTime.Year也是a年,则返回值表示该年的the日。例如,如果在2016年2月29日加上四年,则返回的日期是2020年2月29日。
- 如果value + DateTime.Year不是a年,则返回值表示该年the日的前一天。例如,如果将一年添加到2016年2月29日,则返回的日期是2017年2月28日。
参考:
相关用法
- C# Uri.IsBaseOf(Uri)用法及代码示例
- C# Random.Next()用法及代码示例
- C# Uri.ToString()用法及代码示例
- C# Uri.IsWellFormedOriginalString()用法及代码示例
- C# Uri.GetHashCode()用法及代码示例
- C# Math.Log()用法及代码示例
- C# Uri.FromHex()用法及代码示例
- C# Uri.IsHexDigit()用法及代码示例
- C# Queue.Contains()用法及代码示例
注:本文由纯净天空筛选整理自RohitPrasad3大神的英文原创作品 DateTime.AddYears() Method in C#。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。