Share via


UmAlQuraCalendar.AddMonths(DateTime, Int32) Yöntem

Tanım

Belirtilen başlangıç tarihinden belirli sayıda ay uzaklıkta olan bir tarihi hesaplar.

public:
 override DateTime AddMonths(DateTime time, int months);
public override DateTime AddMonths (DateTime time, int months);
override this.AddMonths : DateTime * int -> DateTime
Public Overrides Function AddMonths (time As DateTime, months As Integer) As DateTime

Parametreler

time
DateTime

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

months
Int32

Eklenecek pozitif veya negatif ay sayısı.

Döndürülenler

parametresi tarafından belirtilen ay sayısı parametresi tarafından months belirtilen time tarihe eklenerek elde edilen tarih.

Özel durumlar

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

months -120.000'den küçük veya 120.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 bileşenlerinin birkaçının değerlerini görüntüler. Ardından, Um 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, sonuçta elde edilen günün gün bölümü etkilenir. Bu, sonuçta elde edilen yılın sonuç ayı içinde son geçerli güne değiştirilir. Sonuçta elde DateTime edilen ayın belirtilen DateTimeyılın dışında olması durumunda, sonuçta elde edilen yılın yıl bölümü etkilenir. Bu uygulama yalnızca geçerli dönemi destekler. Bu nedenle, sonuçta elde edilen yıl belirtilen DateTimeçağın 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, belirtilen ay 30 günü olan Zulkadah ise, belirtilen gün o ayın 30. günüdür ve parametrenin months değeri 3'tür, sonuçta elde edilen yıl belirtilen yıldan bir fazladır, sonuçta elde edilen ay Safar'dır ve sonuçta elde edilen gün safar'ın son günü olan 29. gündür.

parametresinin months değeri negatifse, sonuçta DateTime belirtilen DateTimedeğerinden daha erken 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.AddMonths(time, months), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind)

Şunlara uygulanır