JulianCalendar.IsLeapYear(Int32, Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет, является ли указанный год указанной эры високосным годом.
public:
override bool IsLeapYear(int year, int era);
public override bool IsLeapYear (int year, int era);
override this.IsLeapYear : int * int -> bool
Public Overrides Function IsLeapYear (year As Integer, era As Integer) As Boolean
Параметры
- year
- Int32
Целое число, представляющее год.
- era
- Int32
Целое число, представляющее эру.
Возвращаемое значение
Значение true
, если указанный год — високосный; в противном случае — значение false
.
Исключения
Значение параметра year
находится вне диапазона, поддерживаемого календарем.
-или-
Значение параметра era
находится вне диапазона, поддерживаемого календарем.
Примеры
В следующем примере вызывается IsLeapYear пять лет в каждой из эпох.
using namespace System;
using namespace System::Globalization;
int main()
{
// Creates and initializes a JulianCalendar.
JulianCalendar^ myCal = gcnew JulianCalendar;
// 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++ )
Console::Write( "\t {0}", myCal->IsLeapYear( y, 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++ )
Console::Write( "\t {0}", myCal->IsLeapYear( y, 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();
// 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++ )
Console.Write( "\t{0}", myCal.IsLeapYear( y, 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++ )
Console.Write( "\t{0}", myCal.IsLeapYear( y, 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()
' 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
Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapYear(y, 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
Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapYear(y, 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
Комментарии
В отличие от григорианского календаря, юлианский календарь определяет високосный год как год, который равномерно делится на четыре без исключений. Таким образом, календарь является неточным на один день каждые 128 лет. Например, 1999 год не был високосным, а 2000 год был. В високосном году 365 дней, а в високосном — 366 дней.