DateTime.AddMonths(Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个新的 DateTime,它将指定的月数加到此实例的值上。
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
月份数。
months
参数可以是负数也可以是正数。
返回
一个对象,其值是此实例所表示的日期和时间与 months
所表示的时间之和。
例外
示例
以下示例向 2015 年 12 月的最后一天添加 0 到 15 个月。 在这种情况下,AddMonths 方法返回每个月最后一天的日期,并成功处理闰年。
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
open System
let dat = DateTime(2015, 12, 31)
for i = 0 to 15 do
printfn $"{dat.AddMonths i: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 对象的值。 相反,它返回一个新的 DateTime 对象,其值是此操作的结果。
方法 AddMonths 计算生成的月份和年份,并考虑闰年和一个月中的天数,然后调整结果 DateTime 对象的日期部分。 如果生成的日期不是结果月份中的有效日期,则使用结果月份的最后一个有效日期。 例如,3 月 31 日 + 1 个月 = 4 月 30 日,3 月 31 日 - 1 个月 = 非闰年为 2 月 28 日,闰年为 2 月 29 日。
生成的 DateTime 对象的当天时间部分与此实例保持相同。