HijriCalendar.AddMonths(DateTime, Int32) Metod

Definition

Returnerar ett DateTime som är det angivna antalet månader från den angivna DateTime.

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

Parametrar

time
DateTime

Att DateTime lägga till månader i.

months
Int32

Antalet månader som ska läggas till.

Returer

Resultatet DateTime av att lägga till det angivna antalet månader i den angivna DateTime.

Undantag

Den resulterande DateTime.

months är mindre än -120000.

-eller-

months är större än 120000.

Exempel

I följande kodexempel visas värdena för flera komponenter i en DateTime när det gäller Hijri-kalendern.

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

Kommentarer

Dagdelen av resultatet DateTime påverkas om den resulterande dagen inte är en giltig dag i den resulterande månaden för det resulterande året. Den ändras till den sista giltiga dagen i den resulterande månaden för det resulterande året. Årsdelen av resultatet DateTime påverkas om den resulterande månaden ligger utanför året för den angivna DateTime. Den här implementeringen stöder endast den aktuella eran. ArgumentException Därför utlöses om det resulterande året ligger utanför eran för den angivna DateTime. Tid på dagen-delen av resultatet DateTime förblir densamma som den angivna DateTime.

Om den angivna månaden till exempel är Zulkadah, som har 30 dagar, är den angivna dagen den 30:e dagen i den månaden och värdet för parametern months är 3, är det resulterande året ett mer än det angivna året, den resulterande månaden är Safar och den resulterande dagen är den 29:e dagen, vilket är den sista dagen i Safar.

Om värdet för parametern months är negativt är resultatet DateTime tidigare än det angivna DateTime.

Egenskapen Kind för det returnerade DateTime värdet är alltid lika med DateTimeKind.Unspecified. Du kan bevara egenskapen för Kind parametern time genom att anropa DateTime.SpecifyKind metoden, vilket visas i följande exempel.

returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind)

Gäller för

Se även