當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C# DateTime.AddYears()用法及代碼示例


此方法用於返回新的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日。

參考:



相關用法


注:本文由純淨天空篩選整理自RohitPrasad3大神的英文原創作品 DateTime.AddYears() Method in C#。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。