HijriCalendar.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
.
Исключения
era
находится за пределами диапазона, поддерживаемого этим календарем.
-или-
year
находится за пределами диапазона, поддерживаемого этим календарем.
Примеры
В следующем примере кода метод вызывается IsLeapYear
в течение пяти лет в каждой из эпох.
using namespace System;
using namespace System::Globalization;
int main()
{
// Creates and initializes a HijriCalendar.
HijriCalendar^ myCal = gcnew HijriCalendar;
// 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++ )
Console::Write( "\t {0}", myCal->IsLeapYear( y, 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++ )
Console::Write( "\t {0}", myCal->IsLeapYear( y, myCal->Eras[ i ] ) );
Console::WriteLine();
}
}
/*
This code produces the following output.
YEAR 1421 1422 1423 1424 1425
CurrentEra: False False True False False
Era 1: False False True False False
*/
using System;
using System.Globalization;
public class SamplesHijriCalendar {
public static void Main() {
// Creates and initializes a HijriCalendar.
HijriCalendar myCal = new HijriCalendar();
// 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++ )
Console.Write( "\t{0}", myCal.IsLeapYear( y, 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++ )
Console.Write( "\t{0}", myCal.IsLeapYear( y, myCal.Eras[i] ) );
Console.WriteLine();
}
}
}
/*
This code produces the following output.
YEAR 1421 1422 1423 1424 1425
CurrentEra: False False True False False
Era 1: False False True False False
*/
Imports System.Globalization
Public Class SamplesHijriCalendar
Public Shared Sub Main()
' Creates and initializes a HijriCalendar.
Dim myCal As New HijriCalendar()
' 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
Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapYear(y, 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
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 1421 1422 1423 1424 1425
'CurrentEra: False False True False False
'Era 1: False False True False False
Комментарии
В каждом 30-летнем цикле, который заканчивается годом, который равномерно делится на 30, 2-й, 5-й, 7-й, 10-й, 13-й, 16-й, 18-й, 21-й, 24-й, 26-й и 29-й годы являются високосными годами. Общий год имеет 354 дня, а високосный год — 355 дней.