UmAlQuraCalendar.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.
Calcola una data che ricorre a una distanza pari al numero di mesi indicato a partire da una data iniziale specificata.
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
- time
- DateTime
Data a cui aggiungere i mesi. La classe UmAlQuraCalendar supporta solo le date dal 30/04/1900 00.00.00 (data gregoriana) al 16/11/2077 23.59.59 (data gregoriana).
- months
- Int32
Numero positivo o negativo di mesi da aggiungere.
Restituisce
Data risultante dall'aggiunta del numero di mesi specificato dal parametro months
alla data specificata dal parametro time
.
Eccezioni
La data risultante non è compresa nell'intervallo supportato dalla classe UmAlQuraCalendar.
months
è minore di -120.000 o maggiore di 120.000.
-oppure-
time
non è compreso nell'intervallo supportato dal calendario.
Esempio
Nell'esempio seguente viene creato un'istanza di un DateTime valore e vengono visualizzati i valori di diversi dei relativi componenti nel calendario Um Al Qura. Chiama quindi i AddYears metodi e AddMonths per aggiungere 2 anni e 10 mesi nel calendario Um Al Qura al valore di data. Infine, visualizza nuovamente i valori di questi componenti di data nel calendario Um Al Qura.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
DateTime date1 = new DateTime(2011, 4, 3, new GregorianCalendar());
Calendar cal = new UmAlQuraCalendar();
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
DisplayCalendarInfo(cal, date1);
// Add 2 years and 10 months by calling UmAlQuraCalendar methods.
date1 = cal.AddYears(date1, 2);
date1 = cal.AddMonths(date1, 10);
Console.WriteLine("After adding 2 years and 10 months in the {0} calendar,",
GetCalendarName(cal));
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
DisplayCalendarInfo(cal, date1);
}
private static void DisplayCalendarInfo(Calendar cal, DateTime date1)
{
Console.WriteLine(" Calendar: {0}", GetCalendarName(cal));
Console.WriteLine(" Era: {0}", cal.GetEra(date1));
Console.WriteLine(" Year: {0}", cal.GetYear(date1));
Console.WriteLine(" Month: {0}", cal.GetMonth(date1));
Console.WriteLine(" DayOfYear: {0}", cal.GetDayOfYear(date1));
Console.WriteLine(" DayOfMonth: {0}", cal.GetDayOfMonth(date1));
Console.WriteLine(" DayOfWeek: {0}\n", cal.GetDayOfWeek(date1));
}
private static string GetCalendarName(Calendar cal)
{
return cal.ToString().Replace("System.Globalization.", "").
Replace("Calendar", "");
}
}
// The example displays the following output:
// April 3, 2011 in the Gregorian calendar is equivalent to:
// Calendar: UmAlQura
// Era: 1
// Year: 1432
// Month: 4
// DayOfYear: 118
// DayOfMonth: 29
// DayOfWeek: Sunday
//
// After adding 2 years and 10 months in the UmAlQura calendar,
// January 1, 2014 in the Gregorian calendar is equivalent to:
// Calendar: UmAlQura
// Era: 1
// Year: 1435
// Month: 2
// DayOfYear: 59
// DayOfMonth: 29
// DayOfWeek: Wednesday
Imports System.Globalization
Module Example
Public Sub Main()
Dim date1 As Date = New Date(2011, 4, 3, New GregorianCalendar())
Dim cal As New UmAlQuraCalendar()
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1)
DisplayCalendarInfo(cal, date1)
' Add 2 years and 10 months by calling UmAlQuraCalendar methods.
date1 = cal.AddYears(date1, 2)
date1 = cal.AddMonths(date1, 10)
Console.WriteLine("After adding 2 years and 10 months in the {0} calendar,",
GetCalendarName(cal))
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1)
DisplayCalendarInfo(cal, date1)
End Sub
Private Sub DisplayCalendarInfo(cal As Calendar, date1 As Date)
Console.WriteLine(" Calendar: {0}", GetCalendarName(cal))
Console.WriteLine(" Era: {0}", cal.GetEra(date1))
Console.WriteLine(" Year: {0}", cal.GetYear(date1))
Console.WriteLine(" Month: {0}", cal.GetMonth(date1))
Console.WriteLine(" DayOfYear: {0}", cal.GetDayOfYear(date1))
Console.WriteLine(" DayOfMonth: {0}", cal.GetDayOfMonth(date1))
Console.WriteLine(" DayOfWeek: {0}", cal.GetDayOfWeek(date1))
Console.WriteLine()
End Sub
Private Function GetCalendarName(cal As Calendar) As String
Return cal.ToString().Replace("System.Globalization.", "").
Replace("Calendar", "")
End Function
End Module
' The example displays the following output:
' April 3, 2011 in the Gregorian calendar is equivalent to:
' Calendar: UmAlQura
' Era: 1
' Year: 1432
' Month: 4
' DayOfYear: 118
' DayOfMonth: 29
' DayOfWeek: Sunday
'
' After adding 2 years and 10 months in the UmAlQura calendar,
' January 1, 2014 in the Gregorian calendar is equivalent to:
' Calendar: UmAlQura
' Era: 1
' Year: 1435
' Month: 2
' DayOfYear: 59
' DayOfMonth: 29
' DayOfWeek: Wednesday
Commenti
La parte del giorno 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 è esterno all'anno dell'oggetto specificato DateTime. Questa implementazione supporta solo l'era corrente. Pertanto, viene generata un'eccezione se l'anno risultante non è compreso nell'era dell'oggetto specificato DateTime. La parte del giorno risultante DateTime rimane uguale a quella specificata DateTime.
Ad esempio, se il mese specificato è Zulkadah, che ha 30 giorni, il giorno specificato è il 30° giorno del mese e il valore del parametro è 3, l'anno risultante è uno più dell'anno months
specificato, il mese risultante è Safar e il giorno risultante è il 29° giorno, ovvero l'ultimo giorno di Safar.
Se il valore del months
parametro è negativo, il risultato DateTime è precedente a quello specificato DateTime.
La Kind proprietà del valore restituito DateTime è DateTimeKind.Unspecifiedsempre uguale a . È possibile mantenere la Kind proprietà del time
parametro chiamando il metodo, come illustrato nell'esempio DateTime.SpecifyKind seguente.
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind)