当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C# DateTime.AddMonths()用法及代码示例


此方法用于返回新的DateTime,该日期将指定的月数添加到此实例的值。

用法:

public DateTime AddMonths (int months);

在这里,月数是月数。 months参数可以是负数或正数。


返回值:此方法返回一个对象,该对象的值是此实例和月份表示的日期和时间的总和。

异常:如果生成的DateTime小于MinValue或大于MaxValue,则此方法将引发ArgumentOutOfRangeException。 or 小于-120,000或大于120,000。

以下示例程序旨在说明上述方法的用法:

示例1:

// C# program to demonstrate the 
// DateTime.AddMonths(Int32) Method 
using System; 
  
class GFG { 
  
// Main Method 
public static void Main() 
{ 
  
    // Creating a DateTime object 
    DateTime d1 = new DateTime(2018, 4, 17); 
  
    for (int i = 0; i <= 10; i++) 
    { 
  
        // using the method 
        Console.WriteLine(d1.AddMonths(i).ToString("d")); 
          
    } 
      
    Console.WriteLine("In Leap Years:"); 
      
    // Creating a DateTime object 
    // by taking a leap year 
    // It is 31st March 2016 
    DateTime d2 = new DateTime(2016, 03, 31); 
      
    // taking a month value 
    int m = 1; 
      
    // using the method 
    // Result will be 30 April 2016 
    Console.WriteLine(d2.AddMonths(m).ToString("d")); 
      
      
} 
}

输出:

04/17/2018
05/17/2018
06/17/2018
07/17/2018
08/17/2018
09/17/2018
10/17/2018
11/17/2018
12/17/2018
01/17/2019
02/17/2019
In Leap Years:
04/30/2016

示例2:

// C# program to demonstrate the 
// DateTime.AddMonths(Int32) Method 
using System; 
  
class GFG { 
  
// Main Method 
public static void Main() 
{ 
  
    // Creating a DateTime object 
    // taking MaxValue 
    DateTime d1 = DateTime.MaxValue; 
  
    // taking a month MaxValue 
    int m = 12005; 
  
    // using the method will  
    // give an runtime error 
    // as months parameter is 
    // greater than 12000 
    Console.WriteLine(d1.AddMonths(m).ToString("d")); 
} 
}

运行时错误:

Unhandled Exception:
System.ArgumentOutOfRangeException: The added or subtracted value results in an un-representable DateTime.
Parameter name: months

注意:

  • 此方法不会更改此DateTime对象的值。而是返回一个新的DateTime对象,其值是此操作的结果。
  • 这将考虑leap年和一个月中的天数来计算得出的月份和年份,然后调整得出的DateTime对象的日期部分。
  • 生成的DateTime对象的time-of-day部分与此实例相同。

参考:



相关用法


注:本文由纯净天空筛选整理自Kirti_Mangal大神的英文原创作品 DateTime.AddMonths() Method in C#。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。