Aracılığıyla paylaş


UmAlQuraCalendar.AddYears(DateTime, Int32) Yöntem

Tanım

Belirtilen başlangıç tarihinden belirli sayıda yıl uzakta olan bir tarihi hesaplar.

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

Parametreler

time
DateTime

Yılların ekleneceği tarih. sınıfı UmAlQuraCalendar yalnızca 30.04.1900 00.00.00 (Gregoryen tarih) ile 16.11.2077 23:59:59 (Gregoryen tarih) tarihleri destekler.

years
Int32

Eklenecek pozitif veya negatif yıl sayısı.

Döndürülenler

Parametresi tarafından belirtilen yıl sayısını parametresi tarafından years belirtilen tarihe ekleyerek elde edilen time tarih.

Özel durumlar

Sonuç tarihi sınıfı tarafından desteklenen aralığın UmAlQuraCalendar dışındadır.

years -10.000'den küçük veya 10.000'den büyük.

-veya-

time bu takvim tarafından desteklenen aralığın dışında.

Örnekler

Aşağıdaki örnek bir DateTime değerin örneğini oluşturur ve Um AL Qura takviminde birkaç bileşeninin değerlerini görüntüler. Ardından, Umm Al Qura takviminde AddYears tarih değerine 2 yıl ve 10 ay eklemek için ve AddMonths yöntemlerini çağırır. Son olarak, Um Al Qura takviminde bu tarih bileşenlerinin değerlerini yeniden görüntüler.

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

Açıklamalar

Sonuçta elde edilen gün, sonuçta DateTime elde edilen yılın sonuç ayında geçerli bir gün değilse, sonucun gün kısmı etkilenir. Bu, sonuçta elde edilen yılın sonuç ayındaki son geçerli güne değiştirilir. Sonuçta elde DateTime edilen ay bölümü belirtilen DateTimeile aynı kalır. Bu uygulama yalnızca geçerli dönemi destekler. Bu nedenle, sonuçta elde edilen yıl belirtilen DateTimedöneminin dışındaysa bir özel durum oluşturulur. Sonuçta elde DateTime edilen günün saati bölümü belirtilen DateTimeile aynı kalır.

Örneğin, Zulhijjah'ın 30 günü olan artık yıllar dışında 29 günü vardır. Belirtilen tarih artık yılda Zulhijjah'ın 30. günüyse ve parametrenin years değeri 1 ise, elde edilen tarih bir sonraki yıldaki Zulhijjah'ın 29. günüdür.

Negatifse years , sonuç DateTime belirtilen DateTimedeğerinden önce olur.

Kind Döndürülen DateTime değerin özelliği her zaman eşittirDateTimeKind.Unspecified. Aşağıdaki örnekte gösterildiği gibi yöntemini çağırarak DateTime.SpecifyKind parametresinin özelliğini time koruyabilirsinizKind.

returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)

Şunlara uygulanır