UmAlQuraCalendar.AddYears(DateTime, Int32) Methode

Definition

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

public:
 override DateTime AddYears(DateTime time, int years);
public override DateTime AddYears (DateTime time, int years);
override this.AddYears : DateTime * int -> DateTime
Public Overrides Function AddYears (time As DateTime, years As Integer) As DateTime

Parameter

time
DateTime

Das Datum, dem Jahre 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).

years
Int32

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

Gibt zurück

DateTime

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

Ausnahmen

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

years ist kleiner als -10.000 oder größer als 10.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 seiner Komponenten im Um AL Qura-Kalender angezeigt. Als Nächstes ruft sie die AddYears Methoden AddMonths auf, um dem Datumswert 2 Jahre und 10 Monate im Um Al Qura-Kalender hinzuzufügen. Schließlich werden die Werte dieser Datumskomponenten im Um Al Qura-Kalender erneut 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 Tagteil DateTime des resultierenden Jahres ist betroffen, wenn der resultierende Tag kein gültiger Tag im resultierenden Monat des resultierenden Jahres ist. Es wird in den letzten gültigen Tag im resultierenden Monat des resultierenden Jahres geändert. Der Monatsteil der resultierenden DateTime Ergebnisse bleibt identisch mit dem angegebenen DateTime. Diese Implementierung unterstützt nur die aktuelle Ära. Daher wird eine Ausnahme ausgelöst, wenn das resultierende Jahr außerhalb der Ära der angegebenen DateTimeist. Der Zeit-of-Day-Teil des resultierenden DateTime Ergebniss bleibt identisch mit dem angegebenen DateTime.

Beispielsweise hat Zulhijjah 29 Tage, außer während der Schaltjahre, wenn es 30 Tage hat. Ist das angegebene Datum der 30. Tag von Zulhijjah in einem Schaltjahr und der Wert des years Parameters 1, ist das resultierende Datum der 29. Tag von Zulhijjah im folgenden Jahr.

Wenn years es negativ ist, ist das Ergebnis DateTime früher als der angegebene DateTime.

Die Kind Eigenschaft des zurückgegebenen DateTime Werts DateTimeKind.Unspecifiedentspricht immer . Sie können die Eigenschaft des time Parameters beibehalten, indem Sie die DateTime.SpecifyKind Kind Methode aufrufen, wie im folgenden Beispiel dargestellt.

returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)

Gilt für