Freigeben über


UmAlQuraCalendar.AddMonths(DateTime, Int32) Methode

Definition

Berechnet ein Datum, das dem angegebenen Zeitintervall zu einem angegebenen Anfangsdatum in Monaten entspricht.

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

Parameter

time
DateTime

Das Datum, dem Monate hinzugefügt werden sollen. Die UmAlQuraCalendar-Klasse unterstützt nur Daten ab 30.04.1900 00.00.00 (gregorianisches Datum) bis 16.11.2077 23:59:59 (gregorianisches Datum).

months
Int32

Die positive oder negative Anzahl von Monaten, die hinzugefügt werden sollen.

Gibt zurück

Das Datum, das sich ergibt, wenn dem durch den months-Parameter angegebenen Datum die durch den time-Parameter angegebene Anzahl von Monaten hinzugefügt wird.

Ausnahmen

Das resultierende Datum liegt außerhalb des von der UmAlQuraCalendar-Klasse unterstützten Bereichs.

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

- oder -

time liegt außerhalb des Bereichs, der von diesem Kalender unterstützt wird.

Beispiele

Im folgenden Beispiel wird ein DateTime Wert instanziiert und die Werte mehrerer komponenten im Um Al Qura-Kalender angezeigt. Als Nächstes werden die AddYears Methoden und AddMonths aufgerufen, um dem Datumswert 2 Jahre und 10 Monate im Um Al Qura-Kalender hinzuzufügen. Schließlich werden erneut die Werte dieser Datumskomponenten im Um Al Qura-Kalender angezeigt.

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

Hinweise

Der Tagesteil des resultierenden DateTime ist betroffen, wenn der resultierende Tag kein gültiger Tag im resultierenden Monat des resultierenden Jahres ist. Er wird in den letzten gültigen Tag im resultierenden Monat des resultierenden Jahres geändert. Der Jahresteil des resultierenden DateTime ist betroffen, wenn der resultierende Monat außerhalb des Jahres des angegebenen DateTimeliegt. Diese Implementierung unterstützt nur den aktuellen Zeitraum. Daher wird eine Ausnahme ausgelöst, wenn das resultierende Jahr außerhalb des Zeitraums des angegebenen DateTimeliegt. Der Tageszeitteil des resultierenden DateTime bleibt identisch mit dem angegebenen DateTime.

Wenn beispielsweise der angegebene Monat Zulkadah ist, der 30 Tage hat, der angegebene Tag der 30. Tag dieses Monats ist und der Wert des months Parameters 3 ist, ist das resultierende Jahr ein Jahr mehr als das angegebene Jahr, der resultierende Monat safar, und der resultierende Tag ist der 29. Tag, der der letzte Tag in Safar ist.

Wenn der Wert des months Parameters negativ ist, ist das ergebnis DateTime vor dem angegebenen DateTime.

Die Kind -Eigenschaft des zurückgegebenen DateTime Werts ist DateTimeKind.Unspecifiedimmer gleich . Sie können die Kind -Eigenschaft des time Parameters beibehalten, indem Sie die DateTime.SpecifyKind -Methode aufrufen, wie im folgenden Beispiel gezeigt.

returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind)

Gilt für: