次の方法で共有


HijriCalendar.AddMonths メソッド

指定した DateTime から指定した月数が経過した後の DateTime を返します。

Overrides Public Function AddMonths( _
   ByVal time As DateTime, _   ByVal months As Integer _) As DateTime
[C#]
public override DateTime AddMonths(DateTimetime,intmonths);
[C++]
public: DateTime AddMonths(DateTimetime,intmonths);
[JScript]
public override function AddMonths(
   time : DateTime,months : int) : DateTime;

パラメータ

  • time
    月数を加算する対象の DateTime
  • months
    加算する月の数。

戻り値

指定した DateTime に指定した月数を加算した結果の DateTime

例外

例外の種類 条件
ArgumentException 結果として得られる DateTime がサポートされている範囲外の値です。
ArgumentOutOfRangeException months が -120000 未満です。

または

months が 120000 より大きい値です。

解説

結果として得られる日が結果の年の結果の月に対して有効な日でない場合は、結果として得られる DateTime の日付部分が影響を受けます。この日付は、結果の年の結果の月にとって有効な最後の日付に変更されます。結果として得られる月が、指定した DateTime の年の範囲外の場合、結果として得られる DateTime の年の部分に影響します。この実装では現在の時代 (年号) だけをサポートしています。したがって、結果として得られた年が、指定された DateTime の時代 (年号) の範囲外の場合、 ArgumentException がスローされます。結果として得られる DateTime の時刻の部分は、指定した DateTime の値と同じままです。

たとえば、指定した月が 30 日まである Zulkadah、指定した日がその月の 30 番目の日、および months パラメータの値が 3 である場合、結果として得られる年は指定した年より 1 大きく、月は Safar、日は Safar の最終日である 29 日になります。

months パラメータの値が負の場合、結果の DateTime は、指定した DateTime よりも前の値になります。

使用例

[Visual Basic, C#, C++] DateTime のいくつかのコンポーネントの値を回教暦で表示する例を次に示します。

 
Imports System
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 'Main

   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 'DisplayValues

End Class 'SamplesHijriCalendar 


'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



[C#] 
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

*/

[C++] 
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;

void DisplayValues( Calendar* myCal, DateTime myDT )  {
   Console::WriteLine( S"   Era:        {0}", __box(myCal->GetEra( myDT )));
   Console::WriteLine( S"   Year:       {0}", __box(myCal->GetYear( myDT )));
   Console::WriteLine( S"   Month:      {0}", __box(myCal->GetMonth( myDT )));
   Console::WriteLine( S"   DayOfYear:  {0}", __box(myCal->GetDayOfYear( myDT )));
   Console::WriteLine( S"   DayOfMonth: {0}", __box(myCal->GetDayOfMonth( myDT )));
   Console::WriteLine( S"   DayOfWeek:  {0}", __box(myCal->GetDayOfWeek( myDT )));
   Console::WriteLine();
}

int main()  {

   // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
   DateTime myDT = DateTime( 2002, 4, 3, new GregorianCalendar() );

   // Creates an instance of the HijriCalendar.
   HijriCalendar* myCal = new HijriCalendar();

   // Displays the values of the DateTime.
   Console::WriteLine( S"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( S"After adding two years and ten months:" );
   DisplayValues( myCal, myDT );

}

/*
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

*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

HijriCalendar クラス | HijriCalendar メンバ | System.Globalization 名前空間 | System.DateTime | AddYears | Calendar.AddWeeks | Calendar.AddDays | Calendar.AddHours | Calendar.AddMinutes | Calendar.AddSeconds | Calendar.AddMilliseconds