HijriCalendar.IsLeapDay(Int32, Int32, Int32, Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, zda je zadané datum přestupný den.
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 -> bool
Public Overrides Function IsLeapDay (year As Integer, month As Integer, day As Integer, era As Integer) As Boolean
Parametry
- year
- Int32
Celé číslo, které představuje rok.
- month
- Int32
Celé číslo od 1 do 12, které představuje měsíc.
- day
- Int32
Celé číslo od 1 do 30, které představuje den.
- era
- Int32
Celé číslo, které představuje éru.
Návraty
true
je-li zadaný den přestupný den; v opačném případě . false
Výjimky
era
je mimo rozsah podporovaný tímto kalendářem.
-nebo-
year
je mimo rozsah podporovaný tímto kalendářem.
-nebo-
month
je mimo rozsah podporovaný tímto kalendářem.
-nebo-
day
je mimo rozsah podporovaný tímto kalendářem.
Příklady
Následující příklad kódu volá metodu IsLeapDay
pro poslední den druhého měsíce (únor) po dobu pěti let v každé éře.
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
Poznámky
V každém 30letém cyklu, který končí rokem, který je rovnoměrně dělitelný 30, jsou 2., 5., 7., 10., 13., 16., 18., 21., 24., 26. a 29. rok přestupné roky. Běžný rok má 354 dnů a přestupný rok 355 dnů.
Přestupný den je den, který nastane pouze v přestupném roce. V kalendáři Hidžra je 30. den Zulhijjah jediným přestupným dnem.