Freigeben über


DateTime.AddMonths(Int32) Methode

Definition

Gibt einen neuen DateTime-Wert zurück, der die angegebene Anzahl von Monaten zum Wert dieser Instanz addiert.

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

Parameter

months
Int32

Eine Anzahl von Monaten. Der months-Parameter kann negativ oder positiv sein.

Gibt zurück

Ein Objekt, dessen Wert die Summe aus der von dieser Instanz dargestellten Datums- und Uhrzeitangabe und months ist.

Ausnahmen

Der resultierende DateTime Wert ist kleiner als DateTime.MinValue oder größer als DateTime.MaxValue.

- oder -

months ist kleiner als –120.000 oder größer als 120.000.

Beispiele

Im folgenden Beispiel werden bis zum letzten Tag im Dezember 2015 zwischen null und fünfzehn Monate hinzugefügt. In diesem Fall gibt die AddMonths-Methode das Datum des letzten Tages jedes Monats zurück und verarbeitet erfolgreich Schaltjahre.

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

Hinweise

Diese Methode ändert den Wert dieses DateTime Objekts nicht. Stattdessen wird ein neues DateTime Objekt zurückgegeben, dessen Wert das Ergebnis dieses Vorgangs ist.

Die AddMonths Methode berechnet den resultierenden Monat und das Jahr unter Berücksichtigung von Schaltjahren und der Anzahl der Tage in einem Monat und passt dann den Tagesteil des resultierenden DateTime Objekts an. Wenn der resultierende Tag kein gültiger Tag im resultierenden Monat ist, wird der letzte gültige Tag des resultierenden Monats verwendet. Beispiel: 31. März + 1 Monat = 30. April und 31. März - 1 Monat = 28. Februar für ein Nicht-Schaltjahr und 29. Februar für ein Schaltjahr.

Der Tageszeitteil des resultierenden DateTime Objekts bleibt mit diesem instance identisch.

Gilt für: