JulianCalendar::IsLeapYear Method (Int32, Int32)
Determines whether the specified year in the specified era is a leap year.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- year
-
Type:
System::Int32
An integer that represents the year.
- era
-
Type:
System::Int32
An integer that represents the era.
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | year is outside the range supported by the calendar. -or- era is outside the range supported by the calendar. |
Unlike the Gregorian calendar, the Julian calendar defines a leap year as a year that is evenly divisible by four with no exceptions. Therefore, the calendar is inaccurate by one day every 128 years. For example, the year 1999 was not a leap year, but the year 2000 was. A common year has 365 days and a leap year has 366 days.
The following example calls IsLeapYear for five years in each of the eras.
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 */
Available since 10
.NET Framework
Available since 1.1