此方法用於返回新的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#。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。