DateTime.AddMonths(Int32) DateTime.AddMonths(Int32) DateTime.AddMonths(Int32) DateTime.AddMonths(Int32) Method

定义

返回一个新的 DateTime,它将指定的月数加到此实例的值上。Returns a new DateTime that adds the specified number of months to the value of this instance.

public:
 DateTime AddMonths(int months);
public DateTime AddMonths (int months);
member this.AddMonths : int -> DateTime
Public Function AddMonths (months As Integer) As DateTime

参数

months
Int32 Int32 Int32 Int32

月份数。A number of months. months 参数可以是负数也可以是正数。The months parameter can be negative or positive.

返回

一个对象,其值是此实例所表示的日期和时间与 months 所表示的时间之和。An object whose value is the sum of the date and time represented by this instance and months.

异常

生成的 DateTime 小于 MinValue 或大于 MaxValueThe resulting DateTime is less than MinValue or greater than MaxValue.

- 或 --or- months 小于 -120,000 或大于 120,000。months is less than -120,000 or greater than 120,000.

示例

下面的示例将在12月1日到2015年12月之间添加0到15个月。The following example adds between zero and fifteen months to the last day of December, 2015. 在这种情况下,AddMonths 方法将返回每月最后一天的日期,并成功处理闰年。In this case, the AddMonths method returns the date of the last day of each month, and successfully handles leap years.

using System;

public class Example
{
   public static void Main()
   {
      var dat = new DateTime(2015, 12, 31);
      for (int ctr = 0; ctr <= 15; ctr++)
         Console.WriteLine(dat.AddMonths(ctr).ToString("d"));

   }
}
// The example displays the following output:
//       12/31/2015
//       1/31/2016
//       2/29/2016
//       3/31/2016
//       4/30/2016
//       5/31/2016
//       6/30/2016
//       7/31/2016
//       8/31/2016
//       9/30/2016
//       10/31/2016
//       11/30/2016
//       12/31/2016
//       1/31/2017
//       2/28/2017
//       3/31/2017
Module Example
   Public Sub Main()
      Dim dat As Date = #12/31/2015#
      For ctr As Integer = 0 To 15
         Console.WriteLine(dat.AddMonths(ctr).ToString("d"))
      Next
   End Sub
End Module
' The example displays the following output:
'       12/31/2015
'       1/31/2016
'       2/29/2016
'       3/31/2016
'       4/30/2016
'       5/31/2016
'       6/30/2016
'       7/31/2016
'       8/31/2016
'       9/30/2016
'       10/31/2016
'       11/30/2016
'       12/31/2016
'       1/31/2017
'       2/28/2017
'       3/31/2017

注解

此方法不更改此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.

方法计算得出的月份和年份,考虑闰年和月份中的天数,然后调整结果DateTime对象的日部分。 AddMonthsThe AddMonths method calculates the resulting month and year, taking into account leap years and the number of days in a month, then adjusts the day part of the resulting DateTime object. 如果生成的日期不是生成的月中的有效日期,则使用生成的月份的最后一个有效日期。If the resulting day is not a valid day in the resulting month, the last valid day of the resulting month is used. 例如,三月 31 + 1 个月 = 4 月30日,3月31日到1月 = 2 月28日 = 闰年,闰年2月29日。For example, March 31st + 1 month = April 30th, and March 31st - 1 month = February 28 for a non-leap year and February 29 for a leap year.

生成DateTime的对象的时间部分与此实例保持不变。The time-of-day part of the resulting DateTime object remains the same as this instance.

适用于