Condividi tramite


DateTime.AddMonths(Int32) Metodo

Definizione

Restituisce un nuovo oggetto DateTime che aggiunge il numero specificato di mesi al valore di questa istanza.

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

Parametri

months
Int32

Numero di mesi. Il parametro months può essere negativo o positivo.

Restituisce

Oggetto il cui valore è la somma della data e dell'ora rappresentate dall'istanza e months.

Eccezioni

Il risultato DateTime è minore di DateTime.MinValue o maggiore di DateTime.MaxValue.

-oppure-

months è minore di -120.000 o maggiore di 120.000.

Esempio

L'esempio seguente aggiunge tra zero e quindici mesi all'ultimo giorno di dicembre 2015. In questo caso, il metodo AddMonths restituisce la data dell'ultimo giorno di ogni mese e gestisce correttamente gli anni successivi.

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

Commenti

Questo metodo non modifica il valore di questo DateTime oggetto. Restituisce invece un nuovo DateTime oggetto il cui valore è il risultato di questa operazione.

Il AddMonths metodo calcola il mese e l'anno risultanti, tenendo conto degli anni salti e del numero di giorni in un mese, quindi regola la parte del giorno dell'oggetto risultante DateTime . Se il giorno risultante non è un giorno valido nel mese risultante, viene usato l'ultimo giorno valido del mese risultante. Ad esempio, il 31 marzo + 1 mese = il 30 aprile e il 31 marzo - 1 mese = 28 febbraio per un anno non bisestile e il 29 febbraio per un anno bisestile.

La parte del giorno dell'oggetto risultante DateTime rimane la stessa di questa istanza.

Si applica a