HijriCalendar.IsLeapDay(Int32, Int32, Int32, Int32) 方法    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定指定的日期是否为闰日。
public:
 override bool IsLeapDay(int year, int month, int day, int era);public override bool IsLeapDay (int year, int month, int day, int era);override this.IsLeapDay : int * int * int * int -> boolPublic Overrides Function IsLeapDay (year As Integer, month As Integer, day As Integer, era As Integer) As Boolean参数
- year
- Int32
一个整数,用于表示年份。
- month
- Int32
1 到 12 之间的一个整数,用于表示月份。
- day
- Int32
1 到 30 之间的一个整数,用于表示月中日期。
- era
- Int32
一个整数,用于表示纪元。
返回
如果指定的日期是闰日,则为 true;否则为 false。
例外
              era 超出了此日历支持的范围。
- 或 -
              year 超出了此日历支持的范围。
- 或 -
              month 超出了此日历支持的范围。
- 或 -
              day 超出了此日历支持的范围。
示例
下面的代码示例在每个纪元中调用 IsLeapDay 第二个月 () 第二个月的最后一天调用 方法。
using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates and initializes a HijriCalendar.
   HijriCalendar^ myCal = gcnew HijriCalendar;
   
   // Creates a holder for the last day of the second month (February).
   int iLastDay;
   
   // Displays the header.
   Console::Write( "YEAR\t" );
   for ( int y = 1421; y <= 1425; y++ )
      Console::Write( "\t {0}", y );
   Console::WriteLine();
   
   // Checks five years in the current era.
   Console::Write( "CurrentEra:" );
   for ( int y = 1421; y <= 1425; y++ )
   {
      iLastDay = myCal->GetDaysInMonth( y, 2, HijriCalendar::CurrentEra );
      Console::Write( "\t {0}", myCal->IsLeapDay( y, 2, iLastDay, HijriCalendar::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 = 1421; y <= 1425; y++ )
      {
         iLastDay = myCal->GetDaysInMonth( y, 2, myCal->Eras[ i ] );
         Console::Write( "\t {0}", myCal->IsLeapDay( y, 2, iLastDay, myCal->Eras[ i ] ) );
      }
      Console::WriteLine();
   }
}
/*
This code produces the following output.
YEAR            1421    1422    1423    1424    1425
CurrentEra:     False   False   False   False   False
Era 1:          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();
      // Creates a holder for the last day of the second month (February).
      int iLastDay;
      // Displays the header.
      Console.Write( "YEAR\t" );
      for ( int y = 1421; y <= 1425; y++ )
         Console.Write( "\t{0}", y );
      Console.WriteLine();
      // Checks five years in the current era.
      Console.Write( "CurrentEra:" );
      for ( int y = 1421; y <= 1425; y++ )  {
         iLastDay = myCal.GetDaysInMonth( y, 2, HijriCalendar.CurrentEra );
         Console.Write( "\t{0}", myCal.IsLeapDay( y, 2, iLastDay, HijriCalendar.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 = 1421; y <= 1425; y++ )  {
            iLastDay = myCal.GetDaysInMonth( y, 2, myCal.Eras[i] );
            Console.Write( "\t{0}", myCal.IsLeapDay( y, 2, iLastDay, myCal.Eras[i] ) );
         }
         Console.WriteLine();
      }
   }
}
/*
This code produces the following output.
YEAR            1421    1422    1423    1424    1425
CurrentEra:     False   False   False   False   False
Era 1:          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()
      ' Creates a holder for the last day of the second month (February).
      Dim iLastDay As Integer
      ' 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()
      ' Checks five years in the current era.
      Console.Write("CurrentEra:")
      For y = 1421 To 1425
         iLastDay = myCal.GetDaysInMonth(y, 2, HijriCalendar.CurrentEra)
         Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, HijriCalendar.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 = 1421 To 1425
            iLastDay = myCal.GetDaysInMonth(y, 2, myCal.Eras(i))
            Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, myCal.Eras(i)))
         Next y
         Console.WriteLine()
      Next i
   End Sub
End Class
'This code produces the following output.
'
'YEAR            1421    1422    1423    1424    1425
'CurrentEra:     False   False   False   False   False
'Era 1:          False   False   False   False   False
注解
在以 30 年为结束的 30 年周期中,第 2、5、7、10、13、16、18、21、24、26 和 29 年是闰年。 普通年份有 354 天,闰年有 355 天。
闰日是仅在闰年发生的一天。 在希里历法中,祖尔希贾的第 30 天是唯一的闰日。