JulianCalendar::IsLeapMonth Method (Int32, Int32, Int32)

 

Determines whether the specified month in the specified year in the specified era is a leap month.

Namespace:   System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

public:
virtual bool IsLeapMonth(
	int year,
	int month,
	int era
) override

Parameters

year
Type: System::Int32

An integer that represents the year.

month
Type: System::Int32

An integer from 1 to 12 that represents the month.

era
Type: System::Int32

An integer that represents the era.

Return Value

Type: System::Boolean

This method always returns false, unless overridden by a derived class.

Exception Condition
ArgumentOutOfRangeException

year is outside the range supported by the calendar.

-or-

month 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.

A leap month is an entire month that occurs only in a leap year. The Julian calendar does not have any leap months.

The following example calls IsLeapMonth for all the months in five years in the current era.

using namespace System;
using namespace System::Globalization;
int main()
{

   // Creates and initializes a JulianCalendar.
   JulianCalendar^ myCal = gcnew JulianCalendar;

   // Checks all the months in five years in the current era.
   int iMonthsInYear;
   for ( int y = 2001; y <= 2005; y++ )
   {
      Console::Write( " {0}:\t", y );
      iMonthsInYear = myCal->GetMonthsInYear( y, JulianCalendar::CurrentEra );
      for ( int m = 1; m <= iMonthsInYear; m++ )
         Console::Write( "\t {0}", myCal->IsLeapMonth( y, m, JulianCalendar::CurrentEra ) );
      Console::WriteLine();

   }
}

/*
This code produces the following output.

2001:           False   False   False   False   False   False   False   False   False   False   False   False
2002:           False   False   False   False   False   False   False   False   False   False   False   False
2003:           False   False   False   False   False   False   False   False   False   False   False   False
2004:           False   False   False   False   False   False   False   False   False   False   False   False
2005:           False   False   False   False   False   False   False   False   False   False   False   False

*/

Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Return to top
Show: