次の方法で共有


HijriCalendar.IsLeapMonth メソッド (Int32, Int32, Int32)

指定した時代 (年号) の指定した年の指定した月が閏月かどうかを確認します。

Overrides Overloads Public Function IsLeapMonth( _
   ByVal year As Integer, _   ByVal month As Integer, _   ByVal era As Integer _) As Boolean
[C#]
public override bool IsLeapMonth(intyear,intmonth,intera);
[C++]
public: bool IsLeapMonth(intyear,intmonth,intera);
[JScript]
public override function IsLeapMonth(
   year : int,month : int,era : int) : Boolean;

パラメータ

  • year
    年を表す整数。
  • month
    月を表す 1 ~ 12 の整数。
  • era
    時代 (年号) を表す整数。

戻り値

このメソッドは、派生クラスでオーバーライドされない限り、常に false を返します。

例外

例外の種類 条件
ArgumentOutOfRangeException year が暦でサポートされている範囲外の値です。

または

month が暦でサポートされている範囲外の値です。

ArgumentException era が暦でサポートされている範囲外の値です。

解説

30 で割り切れる年で終了する 30 年周期の 2 番目、5 番目、7 番目、10 番目、13 番目、16 番目、18 番目、21 番目、24 番目、26 番目、および 29 番目の年が閏年です。平年の日数は 354 日で、閏年の日数は 355 日です。

閏月は、閏年にだけ訪れる 1 か月です。回教暦には、閏月はありません。

使用例

[Visual Basic, C#, C++] 現在の時代 (年号) の 5 年間のすべての月の IsLeapMonth を呼び出す例を次に示します。

 
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

Public Class SamplesHijriCalendar   
   
   Public Shared Sub Main()

      ' Creates and initializes a HijriCalendar.
      Dim myCal As New HijriCalendar()

      ' Checks all the months in five years in the current era.
      Dim iMonthsInYear As Integer
      Dim y As Integer
      For y = 1421 To 1425
         Console.Write("{0}:" + ControlChars.Tab, y)
         iMonthsInYear = myCal.GetMonthsInYear(y, HijriCalendar.CurrentEra)
         Dim m As Integer
         For m = 1 To iMonthsInYear
            Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapMonth(y, m, HijriCalendar.CurrentEra))
         Next m
         Console.WriteLine()
      Next y

   End Sub 'Main 

End Class 'SamplesHijriCalendar


'This code produces the following output.

'

'1421:           False   False   False   False   False   False   False   False   False   False   False   False

'1422:           False   False   False   False   False   False   False   False   False   False   False   False

'1423:           False   False   False   False   False   False   False   False   False   False   False   False

'1424:           False   False   False   False   False   False   False   False   False   False   False   False

'1425:           False   False   False   False   False   False   False   False   False   False   False   False



[C#] 
using System;
using System.Globalization;


public class SamplesHijriCalendar  {

   public static void Main()  {

      // Creates and initializes a HijriCalendar.
      HijriCalendar myCal = new HijriCalendar();

      // Checks all the months in five years in the current era.
      int iMonthsInYear;
      for ( int y = 1421; y <= 1425; y++ )  {
         Console.Write( "{0}:\t", y );
         iMonthsInYear = myCal.GetMonthsInYear( y, HijriCalendar.CurrentEra );
         for ( int m = 1; m <= iMonthsInYear; m++ )
            Console.Write( "\t{0}", myCal.IsLeapMonth( y, m, HijriCalendar.CurrentEra ) );
         Console.WriteLine();
      }

   }

}

/*
This code produces the following output.

1421:           False   False   False   False   False   False   False   False   False   False   False   False
1422:           False   False   False   False   False   False   False   False   False   False   False   False
1423:           False   False   False   False   False   False   False   False   False   False   False   False
1424:           False   False   False   False   False   False   False   False   False   False   False   False
1425:           False   False   False   False   False   False   False   False   False   False   False   False

*/

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

int main()
{
   // Creates and initializes a HijriCalendar.
   HijriCalendar* myCal = new HijriCalendar();

   // Checks all the months in five years in the current era.
   int iMonthsInYear;
   for (int y = 1421; y <= 1425; y++) 
   {
      Console::Write(S" {0}:\t", __box(y));
      iMonthsInYear = myCal -> GetMonthsInYear(y, HijriCalendar::CurrentEra);
      for (int m = 1; m <= iMonthsInYear; m++)
         Console::Write(S"\t {0}", __box(myCal -> IsLeapMonth(y, m, HijriCalendar::CurrentEra)));
      Console::WriteLine();
   }
}

/*
This code produces the following output.

1421:           False   False   False   False   False   False   False   False   False   False   False   False
1422:           False   False   False   False   False   False   False   False   False   False   False   False
1423:           False   False   False   False   False   False   False   False   False   False   False   False
1424:           False   False   False   False   False   False   False   False   False   False   False   False
1425:           False   False   False   False   False   False   False   False   False   False   False   False

*/

[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 名前空間 | HijriCalendar.IsLeapMonth オーバーロードの一覧 | CurrentEra | HijriEra | Eras | GetMonthsInYear | IsLeapYear | IsLeapDay