DateTime.AddMonths(Int32) Metod

Definition

Returnerar en ny DateTime som lägger till det angivna antalet månader i värdet för den här instansen.

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

Parametrar

months
Int32

Ett antal månader. Parametern months kan vara negativ eller positiv.

Returer

Ett objekt vars värde är summan av datum och tid som representeras av den här instansen och months.

Undantag

DateTime Resultatet är mindre än DateTime.MinValue eller större än DateTime.MaxValue.

-eller-

months är mindre än -120 000 eller större än 120 000.

Exempel

I följande exempel läggs mellan noll och femton månader till den sista dagen i december 2015. I det här fallet returnerar metoden AddMonths datumet för den sista dagen i varje månad och hanterar skottår.

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

Kommentarer

Den här metoden ändrar inte värdet för det här DateTime objektet. I stället returneras ett nytt DateTime objekt vars värde är resultatet av den här åtgärden.

Metoden AddMonths beräknar den resulterande månaden och året, med hänsyn till skottår och antalet dagar i en månad, och justerar sedan dagdelen av det resulterande DateTime objektet. Om den resulterande dagen inte är en giltig dag i den resulterande månaden används den sista giltiga dagen i den resulterande månaden. Till exempel 31 mars + 1 månad = 30 april och 31 mars – 1 månad = 28 februari för ett icke-skottår och 29 februari för ett skottår.

Tid på dagen-delen av det resulterande DateTime objektet förblir densamma som den här instansen.

Gäller för