GregorianCalendar.IsLeapDay(Int32, Int32, Int32, Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет, является ли указанная дата указанной эры високосным днем.
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
Параметры
- year
- Int32
Целое число, представляющее год.
- month
- Int32
Целое число от 1 до 12, обозначающее месяц.
- day
- Int32
Целое число от 1 до 31, обозначающее день.
- era
- Int32
Целое число, представляющее эру.
Возвращаемое значение
Значение true
, если указанный день — високосный; в противном случае — значение false
.
Исключения
Значение параметра era
находится вне диапазона, поддерживаемого календарем.
-или-
Значение параметра year
находится вне диапазона, поддерживаемого календарем.
-или-
Значение параметра month
находится вне диапазона, поддерживаемого календарем.
-или-
Значение параметра day
находится вне диапазона, поддерживаемого календарем.
Примеры
В следующем примере кода метод IsLeapDay вызывается для последнего дня второго месяца (февраля) в течение пяти лет в каждой из эпох.
using namespace System;
using namespace System::Globalization;
int main()
{
// Creates and initializes a GregorianCalendar.
GregorianCalendar^ myCal = gcnew GregorianCalendar;
// 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, GregorianCalendar::CurrentEra );
Console::Write( "\t {0}", myCal->IsLeapDay( y, 2, iLastDay, GregorianCalendar::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 SamplesGregorianCalendar {
public static void Main() {
// Creates and initializes a GregorianCalendar.
GregorianCalendar myCal = new GregorianCalendar();
// 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, GregorianCalendar.CurrentEra );
Console.Write( "\t{0}", myCal.IsLeapDay( y, 2, iLastDay, GregorianCalendar.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 SamplesGregorianCalendar
Public Shared Sub Main()
' Creates and initializes a GregorianCalendar.
Dim myCal As New GregorianCalendar()
' 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, GregorianCalendar.CurrentEra)
Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, GregorianCalendar.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
Комментарии
Високосный год по григорианскому календарю определяется как год, который равномерно делится на четыре, за исключением случаев, когда он делится на 100. Однако годы, делимые на 400, являются високосными годами. Например, 1900 год был не високосным, а 2000 год. Общий год имеет 365 дней, а високосный год имеет 366 дней.
Високосный день — это день, который происходит только в високосном году. В григорианском календаре 29-й день февраля является единственным високосным днем.