JulianCalendar.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 zadané datum v zadané éře je 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 31, 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
year
je mimo rozsah podporovaný kalendářem.
-nebo-
month
je mimo rozsah podporovaný kalendářem.
-nebo-
day
je mimo rozsah podporovaný kalendářem.
-nebo-
era
je mimo rozsah podporovaný kalendářem.
Příklady
Následující příklad volá IsLeapDay poslední den druhého měsíce (únor) po dobu pěti let v každé z ér.
using namespace System;
using namespace System::Globalization;
int main()
{
// Creates and initializes a JulianCalendar.
JulianCalendar^ myCal = gcnew JulianCalendar;
// Creates a holder for the last day of the second month (February).
int iLastDay;
// Displays the header.
Console::Write( "YEAR\t" );
for ( int y = 2001; y <= 2005; y++ )
Console::Write( "\t {0}", y );
Console::WriteLine();
// Checks five years in the current era.
Console::Write( "CurrentEra:" );
for ( int y = 2001; y <= 2005; y++ )
{
iLastDay = myCal->GetDaysInMonth( y, 2, JulianCalendar::CurrentEra );
Console::Write( "\t {0}", myCal->IsLeapDay( y, 2, iLastDay, JulianCalendar::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 = 2001; y <= 2005; 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 2001 2002 2003 2004 2005
CurrentEra: False False False True False
Era 1: False False False True False
*/
using System;
using System.Globalization;
public class SamplesJulianCalendar {
public static void Main() {
// Creates and initializes a JulianCalendar.
JulianCalendar myCal = new JulianCalendar();
// Creates a holder for the last day of the second month (February).
int iLastDay;
// Displays the header.
Console.Write( "YEAR\t" );
for ( int y = 2001; y <= 2005; y++ )
Console.Write( "\t{0}", y );
Console.WriteLine();
// Checks five years in the current era.
Console.Write( "CurrentEra:" );
for ( int y = 2001; y <= 2005; y++ ) {
iLastDay = myCal.GetDaysInMonth( y, 2, JulianCalendar.CurrentEra );
Console.Write( "\t{0}", myCal.IsLeapDay( y, 2, iLastDay, JulianCalendar.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 = 2001; y <= 2005; 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 2001 2002 2003 2004 2005
CurrentEra: False False False True False
Era 1: False False False True False
*/
Imports System.Globalization
Public Class SamplesJulianCalendar
Public Shared Sub Main()
' Creates and initializes a JulianCalendar.
Dim myCal As New JulianCalendar()
' 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 = 2001 To 2005
Console.Write(ControlChars.Tab + "{0}", y)
Next y
Console.WriteLine()
' Checks five years in the current era.
Console.Write("CurrentEra:")
For y = 2001 To 2005
iLastDay = myCal.GetDaysInMonth(y, 2, JulianCalendar.CurrentEra)
Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, JulianCalendar.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 = 2001 To 2005
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 2001 2002 2003 2004 2005
'CurrentEra: False False False True False
'Era 1: False False False True False
Poznámky
Na rozdíl od gregoriánského kalendáře definuje juliánský kalendář přestupný rok jako rok, který je rovnoměrně dělitelný čtyřmi bez výjimek. Proto je kalendář nepřesný o jeden den každých 128 let. Například rok 1999 nebyl přestupný rok, ale rok 2000 byl. Běžný rok má 365 dní a přestupný rok 366 dní.
Přestupný den je den, který nastane pouze v přestupném roce. V juliánském kalendáři je 29. únorový den jediným přestupný den.