Partage via


UmAlQuraCalendar.AddYears(DateTime, Int32) Méthode

Définition

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)

S’applique à