HijriCalendar.AddMonths(DateTime, Int32) Methode

Definitie

Geeft als resultaat een DateTime getal dat het opgegeven aantal maanden weg is van het opgegeven DateTimeaantal maanden.

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

Parameters

time
DateTime

Het DateTime toevoegen van maanden aan.

months
Int32

Het aantal maanden dat moet worden toegevoegd.

Retouren

Dit DateTime resulteert in het toevoegen van het opgegeven aantal maanden aan de opgegeven DateTime.

Uitzonderingen

Het resulterende DateTime.

months is kleiner dan -120000.

– of –

months is groter dan 120000.

Voorbeelden

In het volgende codevoorbeeld worden de waarden weergegeven van verschillende onderdelen van een DateTime in termen van de Hijri-kalender.

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

Opmerkingen

Het daggedeelte van het resultaat DateTime wordt beïnvloed als de resulterende dag geen geldige dag is in de resulterende maand van het resulterende jaar. Deze wordt gewijzigd in de laatste geldige dag in de resulterende maand van het resulterende jaar. Het jaargedeelte van het resultaat DateTime wordt beïnvloed als de resulterende maand buiten het opgegeven DateTimejaar valt. Deze implementatie ondersteunt alleen het huidige tijdperk. Daarom wordt ArgumentException gegooid als het resulterende jaar buiten het tijdperk van de opgegeven DateTime. Het tijdstip van de dag van het resulterende DateTime gedeelte blijft hetzelfde als de opgegeven DateTime.

Als de opgegeven maand bijvoorbeeld Zulkadah is, die 30 dagen heeft, is de opgegeven dag de 30e dag van die maand en is de waarde van de months parameter 3, het resulterende jaar is een meer dan het opgegeven jaar, de resulterende maand is Safar en de resulterende dag de 29e dag, wat de laatste dag in Safar is.

Als de waarde van de months parameter negatief is, is het resultaat DateTime eerder dan de opgegeven DateTime.

De Kind eigenschap van de geretourneerde DateTime waarde is DateTimeKind.Unspecifiedaltijd gelijk aan. U kunt de Kind eigenschap van de time parameter behouden door de DateTime.SpecifyKind methode aan te roepen, zoals in het volgende voorbeeld wordt weergegeven.

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

Van toepassing op

Zie ook