UmAlQuraCalendar.AddYears(DateTime, Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Calcule une date qui est un nombre spécifié d'années à partir d'une date initiale spécifiée.
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
Paramètres
- time
- DateTime
Date à laquelle ajouter des années. La classe UmAlQuraCalendar prend en charge uniquement les dates comprises entre le 30/04/1900 00.00.00 (date grégorienne) et le 16/11/2077 23:59:59 (date grégorienne).
- years
- Int32
Nombre positif ou négatif d'années à ajouter.
Retours
Date obtenue en ajoutant le nombre d'années spécifié par le paramètre years
à la date spécifiée par le paramètre time
.
Exceptions
La date obtenue ne figure pas dans la plage prise en charge par la classe UmAlQuraCalendar.
years
est inférieur à -10 000 ou supérieur à 10 000.
- ou -
time
est en dehors de la plage prise en charge par ce calendrier.
Exemples
L’exemple suivant instancie une DateTime valeur et affiche les valeurs de plusieurs de ses composants dans le calendrier Um AL Qura. Ensuite, il appelle les AddYears méthodes et AddMonths pour ajouter 2 ans et 10 mois dans le calendrier Um Al Qura à la valeur de date. Enfin, il affiche à nouveau les valeurs de ces composants de date dans le calendrier Um Al Qura.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
DateTime date1 = new DateTime(2011, 4, 3, new GregorianCalendar());
Calendar cal = new UmAlQuraCalendar();
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
DisplayCalendarInfo(cal, date1);
// Add 2 years and 10 months by calling UmAlQuraCalendar methods.
date1 = cal.AddYears(date1, 2);
date1 = cal.AddMonths(date1, 10);
Console.WriteLine("After adding 2 years and 10 months in the {0} calendar,",
GetCalendarName(cal));
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
DisplayCalendarInfo(cal, date1);
}
private static void DisplayCalendarInfo(Calendar cal, DateTime date1)
{
Console.WriteLine(" Calendar: {0}", GetCalendarName(cal));
Console.WriteLine(" Era: {0}", cal.GetEra(date1));
Console.WriteLine(" Year: {0}", cal.GetYear(date1));
Console.WriteLine(" Month: {0}", cal.GetMonth(date1));
Console.WriteLine(" DayOfYear: {0}", cal.GetDayOfYear(date1));
Console.WriteLine(" DayOfMonth: {0}", cal.GetDayOfMonth(date1));
Console.WriteLine(" DayOfWeek: {0}\n", cal.GetDayOfWeek(date1));
}
private static string GetCalendarName(Calendar cal)
{
return cal.ToString().Replace("System.Globalization.", "").
Replace("Calendar", "");
}
}
// The example displays the following output:
// April 3, 2011 in the Gregorian calendar is equivalent to:
// Calendar: UmAlQura
// Era: 1
// Year: 1432
// Month: 4
// DayOfYear: 118
// DayOfMonth: 29
// DayOfWeek: Sunday
//
// After adding 2 years and 10 months in the UmAlQura calendar,
// January 1, 2014 in the Gregorian calendar is equivalent to:
// Calendar: UmAlQura
// Era: 1
// Year: 1435
// Month: 2
// DayOfYear: 59
// DayOfMonth: 29
// DayOfWeek: Wednesday
Imports System.Globalization
Module Example
Public Sub Main()
Dim date1 As Date = New Date(2011, 4, 3, New GregorianCalendar())
Dim cal As New UmAlQuraCalendar()
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1)
DisplayCalendarInfo(cal, date1)
' Add 2 years and 10 months by calling UmAlQuraCalendar methods.
date1 = cal.AddYears(date1, 2)
date1 = cal.AddMonths(date1, 10)
Console.WriteLine("After adding 2 years and 10 months in the {0} calendar,",
GetCalendarName(cal))
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1)
DisplayCalendarInfo(cal, date1)
End Sub
Private Sub DisplayCalendarInfo(cal As Calendar, date1 As Date)
Console.WriteLine(" Calendar: {0}", GetCalendarName(cal))
Console.WriteLine(" Era: {0}", cal.GetEra(date1))
Console.WriteLine(" Year: {0}", cal.GetYear(date1))
Console.WriteLine(" Month: {0}", cal.GetMonth(date1))
Console.WriteLine(" DayOfYear: {0}", cal.GetDayOfYear(date1))
Console.WriteLine(" DayOfMonth: {0}", cal.GetDayOfMonth(date1))
Console.WriteLine(" DayOfWeek: {0}", cal.GetDayOfWeek(date1))
Console.WriteLine()
End Sub
Private Function GetCalendarName(cal As Calendar) As String
Return cal.ToString().Replace("System.Globalization.", "").
Replace("Calendar", "")
End Function
End Module
' The example displays the following output:
' April 3, 2011 in the Gregorian calendar is equivalent to:
' Calendar: UmAlQura
' Era: 1
' Year: 1432
' Month: 4
' DayOfYear: 118
' DayOfMonth: 29
' DayOfWeek: Sunday
'
' After adding 2 years and 10 months in the UmAlQura calendar,
' January 1, 2014 in the Gregorian calendar is equivalent to:
' Calendar: UmAlQura
' Era: 1
' Year: 1435
' Month: 2
' DayOfYear: 59
' DayOfMonth: 29
' DayOfWeek: Wednesday
Remarques
La partie jour du résultat DateTime est affectée si le jour résultant n’est pas un jour valide dans le mois résultant de l’année résultante. Il est remplacé par le dernier jour valide du mois résultant de l’année résultante. La partie mensuelle du résultat DateTime reste identique à celle spécifiée DateTime. Cette implémentation prend uniquement en charge l’ère actuelle. Par conséquent, une exception est levée si l’année résultante est en dehors de l’ère du spécifié DateTime. La partie heure de la journée du résultat DateTime reste la même que celle spécifiée DateTime.
Par exemple, Zulhijjah a 29 jours, sauf pendant les années bissextiles où il a 30 jours. Si la date spécifiée est le 30e jour de Zulhijjah dans une année bissextile et que la valeur du years
paramètre est 1, la date résultante est le 29e jour de Zulhijjah dans l’année suivante.
Si years
est négatif, le résultat DateTime est antérieur au spécifié DateTime.
La Kind propriété de la valeur retournée DateTime est DateTimeKind.Unspecifiedtoujours égale à . Vous pouvez conserver la Kind propriété du paramètre en time
appelant la DateTime.SpecifyKind méthode, comme le montre l’exemple suivant.
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)