Freigeben über


HebrewCalendar.AddYears(DateTime, Int32) Methode

Definition

Gibt eine DateTime angegebene Anzahl von Jahren zurück, die vom angegebenen Wert DateTimeentfernt sind.

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

Der DateTime zu addierende years.

years
Int32

Die Anzahl der hinzuzufügenden Jahre.

Gibt zurück

Dies DateTime ergibt sich aus dem Hinzufügen der angegebenen Anzahl von Jahren zum angegebenen DateTime.

Ausnahmen

Das Ergebnis DateTime liegt außerhalb des unterstützten Bereichs.

Beispiele

Im folgenden Codebeispiel werden die Werte mehrerer Komponenten eines DateTime hebräischen Kalenders angezeigt.

using System;
using System.Globalization;

public class SamplesHebrewCalendar  {

   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 HebrewCalendar.
      HebrewCalendar myCal = new HebrewCalendar();

      // Displays the values of the DateTime.
      Console.WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the Hebrew 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 equals the following in the Hebrew calendar:
   Era:        1
   Year:       5762
   Month:      7
   DayOfYear:  198
   DayOfMonth: 21
   DayOfWeek:  Wednesday

After adding two years and ten months:
   Era:        1
   Year:       5765
   Month:      5
   DayOfYear:  138
   DayOfMonth: 21
   DayOfWeek:  Monday

*/
Imports System.Globalization


Public Class SamplesHebrewCalendar   

   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 HebrewCalendar.
      Dim myCal As New HebrewCalendar()

      ' Displays the values of the DateTime.
      Console.WriteLine("April 3, 2002 of the Gregorian calendar equals the following in the Hebrew 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 equals the following in the Hebrew calendar:
'   Era:        1
'   Year:       5762
'   Month:      7
'   DayOfYear:  198
'   DayOfMonth: 21
'   DayOfWeek:  Wednesday
'
'After adding two years and ten months:
'   Era:        1
'   Year:       5765
'   Month:      5
'   DayOfYear:  138
'   DayOfMonth: 21
'   DayOfWeek:  Monday

Hinweise

Diese Implementierung der HebrewCalendar Klasse erkennt nur die hebräischen Jahre 5343 bis 5999 (1583 bis 2239 im gregorianischen Kalender).

Der Tagesteil des resultierenden DateTime Ergebnisses ist betroffen, wenn der resultierende Tag kein gültiger Tag im resultierenden Monat des resultierenden Jahres ist. Sie wird in dem resultierenden Monat des resultierenden Jahres in den letzten gültigen Tag geändert. Beispielsweise kann Cheshvan je nach Platzierung jüdischer Feiertage 29 oder 30 Tage haben. Angenommen, Cheshvan hat 30 Tage im aktuellen Jahr und 29 im folgenden Jahr. Wenn das angegebene Datum der 30. Tag von Cheshvan im aktuellen Jahr und der Wert von years 1 ist, wird das resultierende Datum der 29. Tag von Cheshvan im folgenden Jahr sein.

Der Monatsteil des resultierenden DateTime Ergebnisses ist betroffen, wenn der resultierende Monat kein gültiger Monat im resultierenden Jahr ist. Sie wird im resultierenden Jahr in den letzten gültigen Monat geändert. Wenn der Monat im time Parameter z. B. der 13. Monat eines Schaltjahrs und der Wert von years 1 ist, ist der Monat im Ergebnis DateTime der 12. Monat des folgenden Jahres, bei dem es sich um ein nicht schaltfreies Jahr handelt. Beachten Sie, dass auch dann, wenn sich der Monatsteil nicht ändert, auf einen anderen Monat verweisen kann. Beispielsweise ist Adar Beit der 7. Monat in Schaltjahren, aber Nissan ist der 7. Monat in gemeinsamen Jahren.

Diese Implementierung unterstützt nur die aktuelle Ära. Daher wird ausgelöst, ArgumentException wenn das resultierende Jahr außerhalb der Zeit des angegebenen DateTimeliegt.

Der Zeit-of-Day-Teil des Resultierenden DateTime bleibt identisch mit dem angegebenen DateTime.

Wenn years dies negativ ist, liegt das Ergebnis DateTime vor dem angegebenen DateTime.

Die Kind Eigenschaft des zurückgegebenen DateTime Werts DateTimeKind.Unspecifiedist immer 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.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)

Gilt für:

Weitere Informationen