HijriCalendar.AddYears(DateTime, Int32) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
O número de anos a acrescentar.
Devoluções
O DateTime que resulta da soma do número especificado de anos ao especificado DateTime.
Exceções
O resultado DateTime está fora do alcance suportado.
Exemplos
O seguinte exemplo de código mostra os valores de vários componentes de a DateTime em termos do calendário Hijri.
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
Observações
A parte do dia resultante DateTime é afetada se o dia resultante não for válido no mês resultante do ano resultante. É alterado para o último dia válido do mês resultante do ano seguinte. A parte mensal do resultado DateTime mantém-se igual à especificada DateTime. Esta implementação suporta apenas a era atual. Portanto, ArgumentException é lançado se o ano resultante estiver fora da era do especificado DateTime. A parte do dia do resultado DateTime mantém-se igual à especificada DateTime.
Por exemplo, Zulhijjah tem 29 dias, exceto durante anos bissextos, quando tem 30 dias. Se a data especificada for o 30.º dia de Zulhijjah num ano bissexto e o valor de years for 1, a data resultante será o 29.º dia de Zulhijjah no ano seguinte.
Se years for negativo, o resultado DateTime é anterior ao especificado DateTime.
A Kind propriedade do valor devolvido DateTime é DateTimeKind.Unspecifiedsempre igual a . Pode preservar a Kind propriedade do time parâmetro chamando o DateTime.SpecifyKind método, como mostra o exemplo seguinte.
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)