Поделиться через


HijriCalendar.IsLeapMonth(Int32, Int32, Int32) Метод

Определение

Определяет, является ли указанный месяц указанных года и эры високосным месяцем.

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

Параметры

year
Int32

Целое число, представляющее год.

month
Int32

Целое число от 1 до 12, обозначающее месяц.

era
Int32

Целое число, представляющее эру.

Возвращаемое значение

Этот метод всегда возвращает значение false.

Исключения

era находится за пределами диапазона, поддерживаемого этим календарем.

-или-

year находится за пределами диапазона, поддерживаемого этим календарем.

-или-

month находится за пределами диапазона, поддерживаемого этим календарем.

Примеры

В следующем примере кода вызывается IsLeapMonth для всех месяцев в пяти годах текущей эпохи.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates and initializes a HijriCalendar.
   HijriCalendar^ myCal = gcnew 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

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

*/
Imports System.Globalization

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

End Class


'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

Комментарии

В каждом 30-летнем цикле, который заканчивается годом, который равномерно делится на 30, 2-й, 5-й, 7-й, 10-й, 13-й, 16-й, 18-й, 21-й, 24-й, 26-й и 29-й годы являются високосными годами. В високосном году 354 дня, а в високосном — 355 дней.

Високосный месяц — это целый месяц, который происходит только в високосном году. Календарь хиджры не имеет никаких високосных месяцев.

Применяется к

См. также раздел