GregorianCalendar.IsLeapYear(Int32, Int32) 方法
定义
确定指定纪元中的指定年份是否为闰年。Determines whether the specified year in the specified era is a leap year.
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
一个整数,用于表示年份。An integer that represents the year.
- era
- Int32
一个整数,用于表示纪元。An integer that represents the era.
返回
如果指定的年是闰年,则为 true;否则为 false。true if the specified year is a leap year; otherwise, false.
例外
era 超出了日历支持的范围。era is outside the range supported by the calendar.
- 或 --or-
year 超出了日历支持的范围。year is outside the range supported by the calendar.
示例
下面的代码示例对每个纪元中的5年调用 IsLeapYear。The following code example calls IsLeapYear for five years in each of the eras.
using namespace System;
using namespace System::Globalization;
int main()
{
// Creates and initializes a GregorianCalendar.
GregorianCalendar^ myCal = gcnew GregorianCalendar;
// 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, 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++ )
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 SamplesGregorianCalendar {
public static void Main() {
// Creates and initializes a GregorianCalendar.
GregorianCalendar myCal = new GregorianCalendar();
// 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, 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++ )
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 SamplesGregorianCalendar
Public Shared Sub Main()
' Creates and initializes a GregorianCalendar.
Dim myCal As New GregorianCalendar()
' 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, 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
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
注解
公历中的闰年定义为一个年份,该年份被平均地除以四,只不过它可被100整除。A leap year in the Gregorian calendar is defined as a year that is evenly divisible by four, except if it is divisible by 100. 但是,400可以整除的年份是闰年。However, years that are divisible by 400 are leap years. 例如,1900年不是闰年,而2000是。For example, the year 1900 was not a leap year, but the year 2000 was. 一个常见年份有365天,闰年有366天。A common year has 365 days and a leap year has 366 days.