Calendar.IsLeapMonth メソッド

定義

派生クラスでオーバーライドされると、月が閏月かどうかを判断します。

オーバーロード

名前 説明
IsLeapMonth(Int32, Int32, Int32)

派生クラスでオーバーライドされた場合、指定した年の指定した年の指定した月が閏月かどうかを判断します。

IsLeapMonth(Int32, Int32)

現在の時代 (年号) の指定した年の指定した月が閏月かどうかを判断します。

IsLeapMonth(Int32, Int32, Int32)

派生クラスでオーバーライドされた場合、指定した年の指定した年の指定した月が閏月かどうかを判断します。

public:
 abstract bool IsLeapMonth(int year, int month, int era);
public abstract bool IsLeapMonth(int year, int month, int era);
abstract member IsLeapMonth : int * int * int -> bool
Public MustOverride Function IsLeapMonth (year As Integer, month As Integer, era As Integer) As Boolean

パラメーター

year
Int32

年を表す整数。

month
Int32

月を表す正の整数。

era
Int32

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

返品

true 指定した月が閏月の場合。それ以外の場合は false

例外

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

-または-

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

-または-

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

注釈

暦年と地球が太陽の周りを回転する実際の時間、または月が地球の周りを回転する実際の時間の差を満たすために、閏年は標準の暦年とは異なる日数を持ちます。 各 Calendar 実装では、閏年が異なる方法で定義されます。

閏月は、閏年でのみ発生する月全体です。 たとえば、ヘブライ暦では、Adar Beit は唯一の閏月です。

注意 (実装者)

派生クラスは、era パラメーターとして渡されるときにCurrentEraをサポートする必要があります。 CurrentEraをサポートする 1 つの方法は、カレンダーの現在の時代 (年号) の値である Eras[0] に格納されている値に置き換えることです。

こちらもご覧ください

適用対象

IsLeapMonth(Int32, Int32)

現在の時代 (年号) の指定した年の指定した月が閏月かどうかを判断します。

public:
 virtual bool IsLeapMonth(int year, int month);
public virtual bool IsLeapMonth(int year, int month);
abstract member IsLeapMonth : int * int -> bool
override this.IsLeapMonth : int * int -> bool
Public Overridable Function IsLeapMonth (year As Integer, month As Integer) As Boolean

パラメーター

year
Int32

年を表す整数。

month
Int32

月を表す正の整数。

返品

true 指定した月が閏月の場合。それ以外の場合は false

例外

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

-または-

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

次のコード例では、 Calendar クラスのさまざまな実装を比較します。

using System;
using System.Globalization;

public class SamplesCalendar  {

   public static void Main()  {

      // Creates an instance of every Calendar type.
      Calendar[] myCals = new Calendar[8];
      myCals[0] = new GregorianCalendar();
      myCals[1] = new HebrewCalendar();
      myCals[2] = new HijriCalendar();
      myCals[3] = new JapaneseCalendar();
      myCals[4] = new JulianCalendar();
      myCals[5] = new KoreanCalendar();
      myCals[6] = new TaiwanCalendar();
      myCals[7] = new ThaiBuddhistCalendar();

      // For each calendar, displays the current year, the number of months in that year,
      // and the number of days in each month of that year.
      int i, j, iYear, iMonth, iDay;
      DateTime myDT = DateTime.Today;

      for ( i = 0; i < myCals.Length; i++ )  {
         iYear = myCals[i].GetYear( myDT );
         Console.WriteLine();
         Console.WriteLine( "{0}, Year: {1}", myCals[i].GetType(), myCals[i].GetYear( myDT ) );
         Console.WriteLine( "   MonthsInYear: {0}", myCals[i].GetMonthsInYear( iYear ) );
         Console.WriteLine( "   DaysInYear: {0}", myCals[i].GetDaysInYear( iYear ) );
         Console.WriteLine( "   Days in each month:" );
         Console.Write( "      " );

         for ( j = 1; j <= myCals[i].GetMonthsInYear( iYear ); j++ )
            Console.Write( " {0,-5}", myCals[i].GetDaysInMonth( iYear, j ) );
         Console.WriteLine();

         iMonth = myCals[i].GetMonth( myDT );
         iDay = myCals[i].GetDayOfMonth( myDT );
         Console.WriteLine( "   IsLeapDay:   {0}", myCals[i].IsLeapDay( iYear, iMonth, iDay ) );
         Console.WriteLine( "   IsLeapMonth: {0}", myCals[i].IsLeapMonth( iYear, iMonth ) );
         Console.WriteLine( "   IsLeapYear:  {0}", myCals[i].IsLeapYear( iYear ) );
      }
   }
}


/*
This code produces the following output.  The results vary depending on the date.

System.Globalization.GregorianCalendar, Year: 2002
   MonthsInYear: 12
   DaysInYear: 365
   Days in each month:
       31    28    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  False

System.Globalization.HebrewCalendar, Year: 5763
   MonthsInYear: 13
   DaysInYear: 385
   Days in each month:
       30    30    30    29    30    30    29    30    29    30    29    30    29
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  True

System.Globalization.HijriCalendar, Year: 1423
   MonthsInYear: 12
   DaysInYear: 355
   Days in each month:
       30    29    30    29    30    29    30    29    30    29    30    30
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  True

System.Globalization.JapaneseCalendar, Year: 14
   MonthsInYear: 12
   DaysInYear: 365
   Days in each month:
       31    28    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  False

System.Globalization.JulianCalendar, Year: 2002
   MonthsInYear: 12
   DaysInYear: 365
   Days in each month:
       31    28    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  False

System.Globalization.KoreanCalendar, Year: 4335
   MonthsInYear: 12
   DaysInYear: 365
   Days in each month:
       31    28    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  False

System.Globalization.TaiwanCalendar, Year: 91
   MonthsInYear: 12
   DaysInYear: 365
   Days in each month:
       31    28    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  False

System.Globalization.ThaiBuddhistCalendar, Year: 2545
   MonthsInYear: 12
   DaysInYear: 365
   Days in each month:
       31    28    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  False

*/
Imports System.Globalization


Public Class SamplesCalendar   

   Public Shared Sub Main()

      ' Creates an instance of every Calendar type.
      Dim myCals(7) As Calendar
      myCals(0) = New GregorianCalendar()
      myCals(1) = New HebrewCalendar()
      myCals(2) = New HijriCalendar()
      myCals(3) = New JapaneseCalendar()
      myCals(4) = New JulianCalendar()
      myCals(5) = New KoreanCalendar()
      myCals(6) = New TaiwanCalendar()
      myCals(7) = New ThaiBuddhistCalendar()

      ' For each calendar, displays the current year, the number of months in that year,
      ' and the number of days in each month of that year.
      Dim i, j, iYear, iMonth, iDay As Integer
      Dim myDT As DateTime = DateTime.Today

      For i = 0 To myCals.Length - 1
         iYear = myCals(i).GetYear(myDT)
         Console.WriteLine()
         Console.WriteLine("{0}, Year: {1}", myCals(i).GetType(), myCals(i).GetYear(myDT))
         Console.WriteLine("   MonthsInYear: {0}", myCals(i).GetMonthsInYear(iYear))
         Console.WriteLine("   DaysInYear: {0}", myCals(i).GetDaysInYear(iYear))
         Console.WriteLine("   Days in each month:")
         Console.Write("      ")
         
         For j = 1 To myCals(i).GetMonthsInYear(iYear)
            Console.Write(" {0,-5}", myCals(i).GetDaysInMonth(iYear, j))
         Next j
         Console.WriteLine()
         
         iMonth = myCals(i).GetMonth(myDT)
         iDay = myCals(i).GetDayOfMonth(myDT)
         Console.WriteLine("   IsLeapDay:   {0}", myCals(i).IsLeapDay(iYear, iMonth, iDay))
         Console.WriteLine("   IsLeapMonth: {0}", myCals(i).IsLeapMonth(iYear, iMonth))
         Console.WriteLine("   IsLeapYear:  {0}", myCals(i).IsLeapYear(iYear))
      Next i 

   End Sub

End Class


'This code produces the following output.  The results vary depending on the date.
'
'System.Globalization.GregorianCalendar, Year: 2002
'   MonthsInYear: 12
'   DaysInYear: 365
'   Days in each month:
'       31    28    31    30    31    30    31    31    30    31    30    31   
'   IsLeapDay:   False
'   IsLeapMonth: False
'   IsLeapYear:  False
'
'System.Globalization.HebrewCalendar, Year: 5763
'   MonthsInYear: 13
'   DaysInYear: 385
'   Days in each month:
'       30    30    30    29    30    30    29    30    29    30    29    30    29   
'   IsLeapDay:   False
'   IsLeapMonth: False
'   IsLeapYear:  True
'
'System.Globalization.HijriCalendar, Year: 1423
'   MonthsInYear: 12
'   DaysInYear: 355
'   Days in each month:
'       30    29    30    29    30    29    30    29    30    29    30    30   
'   IsLeapDay:   False
'   IsLeapMonth: False
'   IsLeapYear:  True
'
'System.Globalization.JapaneseCalendar, Year: 14
'   MonthsInYear: 12
'   DaysInYear: 365
'   Days in each month:
'       31    28    31    30    31    30    31    31    30    31    30    31   
'   IsLeapDay:   False
'   IsLeapMonth: False
'   IsLeapYear:  False
'
'System.Globalization.JulianCalendar, Year: 2002
'   MonthsInYear: 12
'   DaysInYear: 365
'   Days in each month:
'       31    28    31    30    31    30    31    31    30    31    30    31   
'   IsLeapDay:   False
'   IsLeapMonth: False
'   IsLeapYear:  False
'
'System.Globalization.KoreanCalendar, Year: 4335
'   MonthsInYear: 12
'   DaysInYear: 365
'   Days in each month:
'       31    28    31    30    31    30    31    31    30    31    30    31   
'   IsLeapDay:   False
'   IsLeapMonth: False
'   IsLeapYear:  False
'
'System.Globalization.TaiwanCalendar, Year: 91
'   MonthsInYear: 12
'   DaysInYear: 365
'   Days in each month:
'       31    28    31    30    31    30    31    31    30    31    30    31   
'   IsLeapDay:   False
'   IsLeapMonth: False
'   IsLeapYear:  False
'
'System.Globalization.ThaiBuddhistCalendar, Year: 2545
'   MonthsInYear: 12
'   DaysInYear: 365
'   Days in each month:
'       31    28    31    30    31    30    31    31    30    31    30    31   
'   IsLeapDay:   False
'   IsLeapMonth: False
'   IsLeapYear:  False

注釈

暦年と地球が太陽の周りを回転する実際の時間、または月が地球の周りを回転する実際の時間の差を満たすために、閏年は標準の暦年とは異なる日数を持ちます。 各 Calendar 実装では、閏年が異なる方法で定義されます。

閏月は、閏年でのみ発生する月全体です。 たとえば、ヘブライ暦では、Adar Beit は唯一の閏月です。

こちらもご覧ください

適用対象