HebrewCalendar.AddYears(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.
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
Parametri
- years
- Int32
numero di anni da aggiungere.
Restituisce
Valore DateTime risultante dalla somma del numero di anni specificato e del valore DateTime specificato.
Eccezioni
Il valore DateTime risultante non è compreso nell’intervallo supportato.
Esempio
Nell'esempio di codice seguente vengono visualizzati i valori di diversi componenti di un DateTime in termini di calendario ebraico.
using namespace System;
using namespace System::Globalization;
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();
}
int main()
{
// Sets a DateTime to April 3, 2002 of the Gregorian calendar.
DateTime myDT = DateTime(2002,4,3,gcnew GregorianCalendar);
// Creates an instance of the HebrewCalendar.
HebrewCalendar^ myCal = gcnew 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 );
}
/*
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
*/
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
Commenti
Questa implementazione della HebrewCalendar classe riconosce solo gli anni ebrei 5343 a 5999 (1583-2239 nel calendario gregoriano).
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. Ad esempio, Cheshvan può avere 29 o 30 giorni, a seconda del posizionamento delle festività ebrei. Si supponga che Cheshvan abbia 30 giorni nell'anno corrente e 29 nell'anno seguente. Se la data specificata è il 30° giorno di Cheshvan nell'anno corrente e il valore di years
è 1, la data risultante sarà il 29° giorno di Cheshvan nell'anno seguente.
La parte mensile del risultato DateTime è interessata se il mese risultante non è un mese valido nell'anno risultante. Viene modificato nell'ultimo mese valido nell'anno risultante. Ad esempio, se il mese nel parametro è il 13° mese di un anno bisestile e il valore di years
è 1, il mese nel time
risultante DateTime è il 12° mese dell'anno seguente, ovvero un anno non bisestile. Si noti che anche quando la parte del mese non cambia, potrebbe comunque fare riferimento a un mese diverso. Ad esempio, Adar Beit è il 7° mese di anni salti, ma Nissan è il 7° mese negli anni comuni.
Questa implementazione supporta solo l'era corrente. Pertanto, ArgumentException viene generato se l'anno risultante non è all'esterno dell'era dell'oggetto specificato DateTime.
La parte del giorno risultante DateTime rimane uguale a quella specificata DateTime.
Se years
è 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.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)