Calendar.IsLeapDay Method
.NET Framework 1.1
Determines whether a date is a leap day.
Overload List
Determines whether the specified date in the current era is a leap day.
Supported by the .NET Compact Framework.
[Visual Basic] Overloads Public Overridable Function IsLeapDay(Integer, Integer, Integer) As Boolean
[C#] public virtual bool IsLeapDay(int, int, int);
[C++] public: virtual bool IsLeapDay(int, int, int);
[JScript] public function IsLeapDay(int, int, int) : Boolean;
When overridden in a derived class, determines whether the specified date in the specified era is a leap day.
Supported by the .NET Compact Framework.
[Visual Basic] Overloads Public MustOverride Function IsLeapDay(Integer, Integer, Integer, Integer) As Boolean
[C#] public abstract bool IsLeapDay(int, int, int, int);
[C++] public: virtual bool IsLeapDay(int, int, int, int) = 0;
[JScript] public abstract function IsLeapDay(int, int, int, int) : Boolean;
Example
[Visual Basic, C#, C++] The following code example compares different implementations of the Calendar class.
[Visual Basic, C#, C++] Note This example shows how to use one of the overloaded versions of IsLeapDay. For other examples that might be available, see the individual overload topics.
[Visual Basic] Imports System Imports System.Globalization Public Class SamplesCalendar Public Shared Sub Main() ' Creates an instance of every Calendar type. Dim myCals(7) As Calendar myCals(0) = New GregorianCalendar() myCals(1) = New HebrewCalendar() myCals(2) = New HijriCalendar() myCals(3) = New JapaneseCalendar() myCals(4) = New JulianCalendar() myCals(5) = New KoreanCalendar() myCals(6) = New TaiwanCalendar() myCals(7) = New ThaiBuddhistCalendar() ' For each calendar, displays the current year, the number of months in that year, ' and the number of days in each month of that year. Dim i, j, iYear, iMonth, iDay As Integer Dim myDT As DateTime = DateTime.Today For i = 0 To myCals.Length - 1 iYear = myCals(i).GetYear(myDT) Console.WriteLine() Console.WriteLine("{0}, Year: {1}", myCals(i).GetType(), myCals(i).GetYear(myDT)) Console.WriteLine(" MonthsInYear: {0}", myCals(i).GetMonthsInYear(iYear)) Console.WriteLine(" DaysInYear: {0}", myCals(i).GetDaysInYear(iYear)) Console.WriteLine(" Days in each month:") Console.Write(" ") For j = 1 To myCals(i).GetMonthsInYear(iYear) Console.Write(" {0,-5}", myCals(i).GetDaysInMonth(iYear, j)) Next j Console.WriteLine() iMonth = myCals(i).GetMonth(myDT) iDay = myCals(i).GetDayOfMonth(myDT) Console.WriteLine(" IsLeapDay: {0}", myCals(i).IsLeapDay(iYear, iMonth, iDay)) Console.WriteLine(" IsLeapMonth: {0}", myCals(i).IsLeapMonth(iYear, iMonth)) Console.WriteLine(" IsLeapYear: {0}", myCals(i).IsLeapYear(iYear)) Next i End Sub 'Main End Class 'SamplesCalendar 'This code produces the following output. The results vary depending on the date. ' 'System.Globalization.GregorianCalendar, Year: 2002 ' MonthsInYear: 12 ' DaysInYear: 365 ' Days in each month: ' 31 28 31 30 31 30 31 31 30 31 30 31 ' IsLeapDay: False ' IsLeapMonth: False ' IsLeapYear: False ' 'System.Globalization.HebrewCalendar, Year: 5763 ' MonthsInYear: 13 ' DaysInYear: 385 ' Days in each month: ' 30 30 30 29 30 30 29 30 29 30 29 30 29 ' IsLeapDay: False ' IsLeapMonth: False ' IsLeapYear: True ' 'System.Globalization.HijriCalendar, Year: 1423 ' MonthsInYear: 12 ' DaysInYear: 355 ' Days in each month: ' 30 29 30 29 30 29 30 29 30 29 30 30 ' IsLeapDay: False ' IsLeapMonth: False ' IsLeapYear: True ' 'System.Globalization.JapaneseCalendar, Year: 14 ' MonthsInYear: 12 ' DaysInYear: 365 ' Days in each month: ' 31 28 31 30 31 30 31 31 30 31 30 31 ' IsLeapDay: False ' IsLeapMonth: False ' IsLeapYear: False ' 'System.Globalization.JulianCalendar, Year: 2002 ' MonthsInYear: 12 ' DaysInYear: 365 ' Days in each month: ' 31 28 31 30 31 30 31 31 30 31 30 31 ' IsLeapDay: False ' IsLeapMonth: False ' IsLeapYear: False ' 'System.Globalization.KoreanCalendar, Year: 4335 ' MonthsInYear: 12 ' DaysInYear: 365 ' Days in each month: ' 31 28 31 30 31 30 31 31 30 31 30 31 ' IsLeapDay: False ' IsLeapMonth: False ' IsLeapYear: False ' 'System.Globalization.TaiwanCalendar, Year: 91 ' MonthsInYear: 12 ' DaysInYear: 365 ' Days in each month: ' 31 28 31 30 31 30 31 31 30 31 30 31 ' IsLeapDay: False ' IsLeapMonth: False ' IsLeapYear: False ' 'System.Globalization.ThaiBuddhistCalendar, Year: 2545 ' MonthsInYear: 12 ' DaysInYear: 365 ' Days in each month: ' 31 28 31 30 31 30 31 31 30 31 30 31 ' IsLeapDay: False ' IsLeapMonth: False ' IsLeapYear: False [C#] using System; using System.Globalization; public class SamplesCalendar { public static void Main() { // Creates an instance of every Calendar type. Calendar[] myCals = new Calendar[8]; myCals[0] = new GregorianCalendar(); myCals[1] = new HebrewCalendar(); myCals[2] = new HijriCalendar(); myCals[3] = new JapaneseCalendar(); myCals[4] = new JulianCalendar(); myCals[5] = new KoreanCalendar(); myCals[6] = new TaiwanCalendar(); myCals[7] = new ThaiBuddhistCalendar(); // For each calendar, displays the current year, the number of months in that year, // and the number of days in each month of that year. int i, j, iYear, iMonth, iDay; DateTime myDT = DateTime.Today; for ( i = 0; i < myCals.Length; i++ ) { iYear = myCals[i].GetYear( myDT ); Console.WriteLine(); Console.WriteLine( "{0}, Year: {1}", myCals[i].GetType(), myCals[i].GetYear( myDT ) ); Console.WriteLine( " MonthsInYear: {0}", myCals[i].GetMonthsInYear( iYear ) ); Console.WriteLine( " DaysInYear: {0}", myCals[i].GetDaysInYear( iYear ) ); Console.WriteLine( " Days in each month:" ); Console.Write( " " ); for ( j = 1; j <= myCals[i].GetMonthsInYear( iYear ); j++ ) Console.Write( " {0,-5}", myCals[i].GetDaysInMonth( iYear, j ) ); Console.WriteLine(); iMonth = myCals[i].GetMonth( myDT ); iDay = myCals[i].GetDayOfMonth( myDT ); Console.WriteLine( " IsLeapDay: {0}", myCals[i].IsLeapDay( iYear, iMonth, iDay ) ); Console.WriteLine( " IsLeapMonth: {0}", myCals[i].IsLeapMonth( iYear, iMonth ) ); Console.WriteLine( " IsLeapYear: {0}", myCals[i].IsLeapYear( iYear ) ); } } } /* This code produces the following output. The results vary depending on the date. System.Globalization.GregorianCalendar, Year: 2002 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System.Globalization.HebrewCalendar, Year: 5763 MonthsInYear: 13 DaysInYear: 385 Days in each month: 30 30 30 29 30 30 29 30 29 30 29 30 29 IsLeapDay: False IsLeapMonth: False IsLeapYear: True System.Globalization.HijriCalendar, Year: 1423 MonthsInYear: 12 DaysInYear: 355 Days in each month: 30 29 30 29 30 29 30 29 30 29 30 30 IsLeapDay: False IsLeapMonth: False IsLeapYear: True System.Globalization.JapaneseCalendar, Year: 14 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System.Globalization.JulianCalendar, Year: 2002 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System.Globalization.KoreanCalendar, Year: 4335 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System.Globalization.TaiwanCalendar, Year: 91 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System.Globalization.ThaiBuddhistCalendar, Year: 2545 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False */ [C++] #using <mscorlib.dll> using namespace System; using namespace System::Globalization; int main() { // Creates an instance of every Calendar type. Calendar* myCals[] = new Calendar*[8]; myCals->Item[0] = new GregorianCalendar(); myCals->Item[1] = new HebrewCalendar(); myCals->Item[2] = new HijriCalendar(); myCals->Item[3] = new JapaneseCalendar(); myCals->Item[4] = new JulianCalendar(); myCals->Item[5] = new KoreanCalendar(); myCals->Item[6] = new TaiwanCalendar(); myCals->Item[7] = new ThaiBuddhistCalendar(); // For each calendar, displays the current year, the number of months in that year, // and the number of days in each month of that year. int i, j, iYear, iMonth, iDay; DateTime myDT = DateTime::Today; for (i = 0; i < myCals->Length; i++) { iYear = myCals[i]->GetYear(myDT); Console::WriteLine(); Console::WriteLine(S" {0}, Year: {1}", myCals->Item[i]->GetType(), __box(myCals[i]->GetYear(myDT))); Console::WriteLine(S" MonthsInYear: {0}", __box(myCals[i]->GetMonthsInYear(iYear))); Console::WriteLine(S" DaysInYear: {0}", __box(myCals[i]->GetDaysInYear(iYear))); Console::WriteLine(S" Days in each month:"); Console::Write(S" "); for (j = 1; j <= myCals[i]->GetMonthsInYear(iYear); j++) Console::Write(S" {0, -5}", __box(myCals[i]->GetDaysInMonth(iYear, j))); Console::WriteLine(); iMonth = myCals[i]->GetMonth(myDT); iDay = myCals[i]->GetDayOfMonth(myDT); Console::WriteLine(S" IsLeapDay: {0}", __box(myCals[i]->IsLeapDay(iYear, iMonth, iDay))); Console::WriteLine(S" IsLeapMonth: {0}", __box(myCals[i]->IsLeapMonth(iYear, iMonth))); Console::WriteLine(S" IsLeapYear: {0}", __box(myCals[i]->IsLeapYear(iYear))); } } /* This code produces the following output. The results vary depending on the date. System::Globalization::GregorianCalendar, Year: 2002 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System::Globalization::HebrewCalendar, Year: 5763 MonthsInYear: 13 DaysInYear: 385 Days in each month: 30 30 30 29 30 30 29 30 29 30 29 30 29 IsLeapDay: False IsLeapMonth: False IsLeapYear: True System::Globalization::HijriCalendar, Year: 1423 MonthsInYear: 12 DaysInYear: 355 Days in each month: 30 29 30 29 30 29 30 29 30 29 30 30 IsLeapDay: False IsLeapMonth: False IsLeapYear: True System::Globalization::JapaneseCalendar, Year: 14 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System::Globalization::JulianCalendar, Year: 2002 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System::Globalization::KoreanCalendar, Year: 4335 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System::Globalization::TaiwanCalendar, Year: 91 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System::Globalization::ThaiBuddhistCalendar, Year: 2545 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False */
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
See Also
Calendar Class | Calendar Members | System.Globalization Namespace