次の方法で共有


HebrewCalendar.IsLeapYear メソッド (Int32, Int32)

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

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

パラメータ

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

戻り値

指定した年が閏年である場合は true 。それ以外の場合は false

例外

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

解説

HebrewCalendar クラスのこの実装は、ヘブライ暦の 5343 年 ~ 6000 年 (グレゴリオ暦の 1582 年 ~ 2240 年) だけを認識します。

19 で割り切れる年で終了する 19 年周期の 3 番目、6 番目、8 番目、11 番目、14 番目、17 番目、および 19 番目の年が閏年です。平年の日数は、ユダヤ教の祝日に応じて 353 ~ 355 日になります。閏年の日数は 383 ~ 385 日です。

使用例

[Visual Basic, C#, C++] 各時代 (年号) の 5 年間の IsLeapYear を呼び出す例を次に示します。

 
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

Public Class SamplesHebrewCalendar   
   
   Public Shared Sub Main()

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

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

      ' Checks five years in the current era.
      Console.Write("CurrentEra:")
      For y = 5761 To 5765
         Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapYear(y, HebrewCalendar.CurrentEra))
      Next y
      Console.WriteLine()

      ' Checks five years in each of the eras.
      Dim i As Integer
      For i = 0 To myCal.Eras.Length - 1
         Console.Write("Era {0}:" + ControlChars.Tab, myCal.Eras(i))
         For y = 5761 To 5765
            Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapYear(y, myCal.Eras(i)))
         Next y
         Console.WriteLine()
      Next i

   End Sub 'Main 

End Class 'SamplesHebrewCalendar


'This code produces the following output.

'

'YEAR            5761    5762    5763    5764    5765

'CurrentEra:     False   False   True    False   True

'Era 1:          False   False   True    False   True



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


public class SamplesHebrewCalendar  {

   public static void Main()  {

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

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

      // Checks five years in the current era.
      Console.Write( "CurrentEra:" );
      for ( int y = 5761; y <= 5765; y++ )
         Console.Write( "\t{0}", myCal.IsLeapYear( y, HebrewCalendar.CurrentEra ) );
      Console.WriteLine();

      // Checks five years in each of the eras.
      for ( int i = 0; i < myCal.Eras.Length; i++ )  {
         Console.Write( "Era {0}:\t", myCal.Eras[i] );
         for ( int y = 5761; y <= 5765; y++ )
            Console.Write( "\t{0}", myCal.IsLeapYear( y, myCal.Eras[i] ) );
         Console.WriteLine();
      }

   }

}

/*
This code produces the following output.

YEAR            5761    5762    5763    5764    5765
CurrentEra:     False   False   True    False   True
Era 1:          False   False   True    False   True

*/

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

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

   // Displays the header.
   Console::Write(S"YEAR\t");
   for (int y = 5761; y <= 5765; y++)
      Console::Write(S"\t {0}", __box(y));
   Console::WriteLine();

   // Checks five years in the current era.
   Console::Write(S"CurrentEra:");
   for (int y = 5761; y <= 5765; y++)
      Console::Write(S"\t {0}", __box(myCal -> IsLeapYear(y, HebrewCalendar::CurrentEra)));
   Console::WriteLine();

   // Checks five years in each of the eras.
   for (int i = 0; i < myCal -> Eras -> Length; i++)
   {
      Console::Write(S"Era {0}:\t", myCal -> Eras->Item[i]);
      for (int y = 5761; y <= 5765; y++)
         Console::Write(S"\t {0}", __box(myCal -> IsLeapYear(y, myCal -> Eras[i])));
      Console::WriteLine();
   }
}

/*
This code produces the following output.

YEAR            5761    5762    5763    5764    5765
CurrentEra:     False   False   True    False   True
Era 1:          False   False   True    False   True

*/

[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 ファミリ

参照

HebrewCalendar クラス | HebrewCalendar メンバ | System.Globalization 名前空間 | HebrewCalendar.IsLeapYear オーバーロードの一覧 | CurrentEra | HebrewEra | Eras | IsLeapMonth | IsLeapDay