GregorianCalendar.AddMonths(DateTime, Int32) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
public:
override DateTime AddMonths(DateTime time, int months);
public override DateTime AddMonths (DateTime time, int months);
override this.AddMonths : DateTime * int -> DateTime
Public Overrides Function AddMonths (time As DateTime, months As Integer) As DateTime
Parametri
- months
- Int32
numero di mesi da aggiungere.
Restituisce
Valore DateTime risultante dalla somma del numero specificato di mesi e del valore DateTime specificato.
Eccezioni
Il valore DateTime risultante non è compreso nell’intervallo supportato.
Esempio
Nell'esempio di codice seguente vengono visualizzati i valori di diversi componenti di un DateTime oggetto in termini di calendario gregoriano.
using namespace System;
using namespace System::Globalization;
void DisplayValues( Calendar^ myCal, DateTime myDT )
{
Console::WriteLine( " Era: {0}", myCal->GetEra( myDT ) );
Console::WriteLine( " Year: {0}", myCal->GetYear( myDT ) );
Console::WriteLine( " Month: {0}", myCal->GetMonth( myDT ) );
Console::WriteLine( " DayOfYear: {0}", myCal->GetDayOfYear( myDT ) );
Console::WriteLine( " DayOfMonth: {0}", myCal->GetDayOfMonth( myDT ) );
Console::WriteLine( " DayOfWeek: {0}", myCal->GetDayOfWeek( myDT ) );
Console::WriteLine();
}
int main()
{
// Sets a DateTime to April 3, 2002 of the Gregorian calendar.
DateTime myDT = DateTime(2002,4,3,gcnew GregorianCalendar);
// Creates an instance of the GregorianCalendar.
GregorianCalendar^ myCal = gcnew GregorianCalendar;
// Displays the values of the DateTime.
Console::WriteLine( "April 3, 2002 of the Gregorian calendar:" );
DisplayValues( myCal, myDT );
// Adds two years and ten months.
myDT = myCal->AddYears( myDT, 2 );
myDT = myCal->AddMonths( myDT, 10 );
// Displays the values of the DateTime.
Console::WriteLine( "After adding two years and ten months:" );
DisplayValues( myCal, myDT );
}
/*
This code produces the following output.
April 3, 2002 of the Gregorian calendar:
Era: 1
Year: 2002
Month: 4
DayOfYear: 93
DayOfMonth: 3
DayOfWeek: Wednesday
After adding two years and ten months:
Era: 1
Year: 2005
Month: 2
DayOfYear: 34
DayOfMonth: 3
DayOfWeek: Thursday
*/
using System;
using System.Globalization;
public class SamplesGregorianCalendar {
public static void Main() {
// Sets a DateTime to April 3, 2002 of the Gregorian calendar.
DateTime myDT = new DateTime( 2002, 4, 3, new GregorianCalendar() );
// Creates an instance of the GregorianCalendar.
GregorianCalendar myCal = new GregorianCalendar();
// Displays the values of the DateTime.
Console.WriteLine( "April 3, 2002 of the Gregorian calendar:" );
DisplayValues( myCal, myDT );
// Adds two years and ten months.
myDT = myCal.AddYears( myDT, 2 );
myDT = myCal.AddMonths( myDT, 10 );
// Displays the values of the DateTime.
Console.WriteLine( "After adding two years and ten months:" );
DisplayValues( myCal, myDT );
}
public static void DisplayValues( Calendar myCal, DateTime myDT ) {
Console.WriteLine( " Era: {0}", myCal.GetEra( myDT ) );
Console.WriteLine( " Year: {0}", myCal.GetYear( myDT ) );
Console.WriteLine( " Month: {0}", myCal.GetMonth( myDT ) );
Console.WriteLine( " DayOfYear: {0}", myCal.GetDayOfYear( myDT ) );
Console.WriteLine( " DayOfMonth: {0}", myCal.GetDayOfMonth( myDT ) );
Console.WriteLine( " DayOfWeek: {0}", myCal.GetDayOfWeek( myDT ) );
Console.WriteLine();
}
}
/*
This code produces the following output.
April 3, 2002 of the Gregorian calendar:
Era: 1
Year: 2002
Month: 4
DayOfYear: 93
DayOfMonth: 3
DayOfWeek: Wednesday
After adding two years and ten months:
Era: 1
Year: 2005
Month: 2
DayOfYear: 34
DayOfMonth: 3
DayOfWeek: Thursday
*/
Imports System.Globalization
Public Class SamplesGregorianCalendar
Public Shared Sub Main()
' Sets a DateTime to April 3, 2002 of the Gregorian calendar.
Dim myDT As New DateTime(2002, 4, 3, New GregorianCalendar())
' Creates an instance of the GregorianCalendar.
Dim myCal As New GregorianCalendar()
' Displays the values of the DateTime.
Console.WriteLine("April 3, 2002 of the Gregorian calendar:")
DisplayValues(myCal, myDT)
' Adds two years and ten months.
myDT = myCal.AddYears(myDT, 2)
myDT = myCal.AddMonths(myDT, 10)
' Displays the values of the DateTime.
Console.WriteLine("After adding two years and ten months:")
DisplayValues(myCal, myDT)
End Sub
Public Shared Sub DisplayValues(myCal As Calendar, myDT As DateTime)
Console.WriteLine(" Era: {0}", myCal.GetEra(myDT))
Console.WriteLine(" Year: {0}", myCal.GetYear(myDT))
Console.WriteLine(" Month: {0}", myCal.GetMonth(myDT))
Console.WriteLine(" DayOfYear: {0}", myCal.GetDayOfYear(myDT))
Console.WriteLine(" DayOfMonth: {0}", myCal.GetDayOfMonth(myDT))
Console.WriteLine(" DayOfWeek: {0}", myCal.GetDayOfWeek(myDT))
Console.WriteLine()
End Sub
End Class
'This code produces the following output.
'
'April 3, 2002 of the Gregorian calendar:
' Era: 1
' Year: 2002
' Month: 4
' DayOfYear: 93
' DayOfMonth: 3
' DayOfWeek: Wednesday
'
'After adding two years and ten months:
' Era: 1
' Year: 2005
' Month: 2
' DayOfYear: 34
' DayOfMonth: 3
' DayOfWeek: Thursday
Commenti
La parte del giorno dell'oggetto risultante DateTime è interessata se il giorno risultante non è un giorno valido nel mese risultante dell'anno risultante. Viene modificato nell'ultimo giorno valido nel mese risultante dell'anno risultante. La parte dell'anno risultante DateTime è interessata se il mese risultante non rientra nell'anno dell'oggetto specificato DateTime. Questa implementazione supporta solo l'era corrente. ArgumentException Viene pertanto generata se l'anno risultante non rientra nell'era dell'oggetto specificatoDateTime. La parte relativa all'ora del giorno risultante DateTime rimane la stessa dell'oggetto specificato DateTime.
Ad esempio, se il mese specificato è ottobre, che ha 31 giorni, il giorno specificato è il 31° giorno del mese e il valore del months
parametro è 6, l'anno risultante è uno più dell'anno specificato, il mese risultante è Aprile e il giorno risultante è il 30° giorno, ovvero l'ultimo giorno di aprile.
Se il valore del months
parametro è negativo, il risultato DateTime è precedente a quello specificato DateTime.
La Kind proprietà del valore restituito DateTime è sempre uguale a DateTimeKind.Unspecified. È possibile mantenere la Kind proprietà del time
parametro chiamando il DateTime.SpecifyKind metodo , come illustrato nell'esempio seguente.
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind)