HebrewCalendar.AddYears(DateTime, Int32) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
public:
override DateTime AddYears(DateTime time, int years);
public override DateTime AddYears(DateTime time, int years);
override this.AddYears : DateTime * int -> DateTime
abstract member AddYears : DateTime * int -> DateTime
override this.AddYears : DateTime * int -> DateTime
Public Overrides Function AddYears (time As DateTime, years As Integer) As DateTime
Parametrar
- years
- Int32
Antalet år som ska läggas till.
Returer
Resultatet DateTime av att lägga till det angivna antalet år i den angivna DateTime.
Undantag
Resultatet DateTime ligger utanför det intervall som stöds.
Exempel
I följande kodexempel visas värdena för flera komponenter i en DateTime i den hebreiska kalendern.
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
Kommentarer
Detta genomförande av HebrewCalendar klassificera känner igen endast de hebreiska åren 5343 till 5999 (1583 till 2239 i den gregorianska kalendern).
Dagdelen av resultatet DateTime påverkas om den resulterande dagen inte är en giltig dag i den resulterande månaden för det resulterande året. Den ändras till den sista giltiga dagen i den resulterande månaden för det resulterande året. Cheshvan kan till exempel ha 29 eller 30 dagar, beroende på placeringen av judiska helgdagar. Anta att Cheshvan har 30 dagar innevarande år och 29 under följande år. Om det angivna datumet är den 30:e dagen i Cheshvan under innevarande år och värdet years är 1 blir det resulterande datumet den 29:e dagen i Cheshvan under följande år.
Månadsdelen av resultatet DateTime påverkas om den resulterande månaden inte är en giltig månad under det resulterande året. Den ändras till den senaste giltiga månaden under det resulterande året. Om till exempel månaden i parametern time är den 13:e månaden för ett skottår och värdet years för är 1, är månaden i resultatet DateTime den tolfte månaden för följande år, vilket är ett icke-skottår. Observera att även om månadsdelen inte ändras kan den fortfarande referera till en annan månad. Till exempel är Adar Beit den 7: e månaden i skottår, men Nissan är den 7: e månaden i vanliga år.
Den här implementeringen stöder endast den aktuella eran. ArgumentException Därför utlöses om det resulterande året ligger utanför eran för den angivna DateTime.
Tid på dagen-delen av resultatet DateTime förblir densamma som den angivna DateTime.
Om years är negativt är resultatet DateTime tidigare än det angivna DateTime.
Egenskapen Kind för det returnerade DateTime värdet är alltid lika med DateTimeKind.Unspecified. Du kan bevara egenskapen för Kind parametern time genom att anropa DateTime.SpecifyKind metoden, vilket visas i följande exempel.
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)