次の方法で共有


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

定義

指定した年と時代 (年号) の指定した月の日数を返します。

public:
 override int GetDaysInMonth(int year, int month, int era);
public override int GetDaysInMonth (int year, int month, int era);
override this.GetDaysInMonth : int * int * int -> int
Public Overrides Function GetDaysInMonth (year As Integer, month As Integer, era As Integer) As Integer

パラメーター

year
Int32

年を表す整数。

month
Int32

月を表す 1 から 12 の整数。

era
Int32

時代 (年号) を表す整数。

戻り値

指定した時代 (年号) の指定した年の指定した月の日数。

例外

era が、このカレンダーでサポートされている範囲外です。

- または -

year が、このカレンダーでサポートされている範囲外です。

- または -

month が、このカレンダーでサポートされている範囲外です。

次のコード例では、各時代の 5 年間ごとに 12 か月目を呼び出 GetDaysInMonth します。

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates and initializes a HijriCalendar.
   HijriCalendar^ myCal = gcnew HijriCalendar;
   
   // Displays the header.
   Console::Write( "YEAR\t" );
   for ( int y = 1421; y <= 1425; y++ )
      Console::Write( "\t {0}", y );
   Console::WriteLine();
   
   // Displays the value of the CurrentEra property.
   Console::Write( "CurrentEra:" );
   for ( int y = 1421; y <= 1425; y++ )
      Console::Write( "\t {0}", myCal->GetDaysInMonth( y, 12, HijriCalendar::CurrentEra ) );
   Console::WriteLine();
   
   // Displays the values in the Eras property.
   for ( int i = 0; i < myCal->Eras->Length; i++ )
   {
      Console::Write( "Era {0}:\t", myCal->Eras[ i ] );
      for ( int y = 1421; y <= 1425; y++ )
         Console::Write( "\t {0}", myCal->GetDaysInMonth( y, 12, myCal->Eras[ i ] ) );
      Console::WriteLine();

   }
}

/*
This code produces the following output. The results might vary depending on
the settings in Regional and Language Options (or Regional Options or Regional Settings).

YEAR            1421    1422    1423    1424    1425
CurrentEra:     29      29      30      29      29
Era 1:          29      29      30      29      29

*/
using System;
using System.Globalization;

public class SamplesHijriCalendar  {

   public static void Main()  {

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

      // Displays the header.
      Console.Write( "YEAR\t" );
      for ( int y = 1421; y <= 1425; y++ )
         Console.Write( "\t{0}", y );
      Console.WriteLine();

      // Displays the value of the CurrentEra property.
      Console.Write( "CurrentEra:" );
      for ( int y = 1421; y <= 1425; y++ )
         Console.Write( "\t{0}", myCal.GetDaysInMonth( y, 12, HijriCalendar.CurrentEra ) );
      Console.WriteLine();

      // Displays the values in the Eras property.
      for ( int i = 0; i < myCal.Eras.Length; i++ )  {
         Console.Write( "Era {0}:\t", myCal.Eras[i] );
         for ( int y = 1421; y <= 1425; y++ )
            Console.Write( "\t{0}", myCal.GetDaysInMonth( y, 12, myCal.Eras[i] ) );
         Console.WriteLine();
      }
   }
}

/*
This code produces the following output. The results might vary depending on
the settings in Regional and Language Options (or Regional Options or Regional Settings).

YEAR            1421    1422    1423    1424    1425
CurrentEra:     29      29      30      29      29
Era 1:          29      29      30      29      29

*/
Imports System.Globalization

Public Class SamplesHijriCalendar   
   
   Public Shared Sub Main()

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

      ' Displays the header.
      Console.Write("YEAR" + ControlChars.Tab)
      Dim y As Integer
      For y = 1421 To 1425
         Console.Write(ControlChars.Tab + "{0}", y)
      Next y
      Console.WriteLine()

      ' Displays the value of the CurrentEra property.
      Console.Write("CurrentEra:")
      For y = 1421 To 1425
         Console.Write(ControlChars.Tab + "{0}", myCal.GetDaysInMonth(y, 12, HijriCalendar.CurrentEra))
      Next y
      Console.WriteLine()

      ' Displays the values in the Eras property.
      Dim i As Integer
      For i = 0 To myCal.Eras.Length - 1
         Console.Write("Era {0}:" + ControlChars.Tab, myCal.Eras(i))
         For y = 1421 To 1425
            Console.Write(ControlChars.Tab + "{0}", myCal.GetDaysInMonth(y, 12, myCal.Eras(i)))
         Next y
         Console.WriteLine()
      Next i

   End Sub

End Class


'This code produces the following output. The results might vary depending on
'the settings in Regional and Language Options (or Regional Options or Regional Settings).
'
'YEAR            1421    1422    1423    1424    1425
'CurrentEra:     29      29      30      29      29
'Era 1:          29      29      30      29      29

注釈

たとえば、このメソッドは、閏年かどうかyearに応じて、Zulhijjah (month = 12) の 29 または 30 を返します。

適用対象

こちらもご覧ください