HijriCalendar.AddYears(DateTime, Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
Parámetros
- years
- Int32
número de años que se va a sumar.
Devoluciones
DateTime resultante de agregar el número especificado de años al objeto DateTime especificado.
Excepciones
El valor de DateTime resultante se encuentra fuera del intervalo admitido.
Ejemplos
En el ejemplo de código siguiente se muestran los valores de varios componentes de en DateTime términos del calendario Hijri.
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 HijriCalendar.
HijriCalendar^ myCal = gcnew HijriCalendar;
// Displays the values of the DateTime.
Console::WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the Hijri 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 Hijri calendar:
Era: 1
Year: 1423
Month: 1
DayOfYear: 21
DayOfMonth: 21
DayOfWeek: Wednesday
After adding two years and ten months:
Era: 1
Year: 1425
Month: 11
DayOfYear: 316
DayOfMonth: 21
DayOfWeek: Saturday
*/
using System;
using System.Globalization;
public class SamplesHijriCalendar {
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 HijriCalendar.
HijriCalendar myCal = new HijriCalendar();
// Displays the values of the DateTime.
Console.WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the Hijri 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 Hijri calendar:
Era: 1
Year: 1423
Month: 1
DayOfYear: 21
DayOfMonth: 21
DayOfWeek: Wednesday
After adding two years and ten months:
Era: 1
Year: 1425
Month: 11
DayOfYear: 316
DayOfMonth: 21
DayOfWeek: Saturday
*/
Imports System.Globalization
Public Class SamplesHijriCalendar
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 HijriCalendar.
Dim myCal As New HijriCalendar()
' Displays the values of the DateTime.
Console.WriteLine("April 3, 2002 of the Gregorian calendar equals the following in the Hijri 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 Hijri calendar:
' Era: 1
' Year: 1423
' Month: 1
' DayOfYear: 21
' DayOfMonth: 21
' DayOfWeek: Wednesday
'
'After adding two years and ten months:
' Era: 1
' Year: 1425
' Month: 11
' DayOfYear: 316
' DayOfMonth: 21
' DayOfWeek: Saturday
Comentarios
La parte del día del resultado DateTime se ve afectada si el día resultante no es un día válido en el mes resultante del año resultante. Se cambia al último día válido en el mes resultante del año resultante. La parte del mes del resultado DateTime sigue siendo la misma que la especificada DateTime. Esta implementación solo admite la era actual. Por lo tanto, ArgumentException se produce si el año resultante está fuera de la era del especificado DateTime. La parte de hora del día del resultado DateTime sigue siendo la misma que la especificada DateTime.
Por ejemplo, Zulhijjah tiene 29 días, excepto durante los años bisiestos cuando tiene 30 días. Si la fecha especificada es el día 30 de Zulhijjah en un año bisiesto y el valor de years
es 1, la fecha resultante será el día 29 de Zulhijjah en el año siguiente.
Si years
es negativo, el resultado DateTime es anterior al especificado DateTime.
La Kind propiedad del valor devuelto DateTime siempre es igual a DateTimeKind.Unspecified. Puede conservar la Kind propiedad del time
parámetro llamando al DateTime.SpecifyKind método , como se muestra en el ejemplo siguiente.
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)