Calendar.GetDaysInMonth Method
.NET Framework 1.1
Returns the number of days in the specified month.
Overload List
Returns the number of days in the specified month in the specified year in the current era.
Supported by the .NET Compact Framework.
[Visual Basic] Overloads Public Overridable Function GetDaysInMonth(Integer, Integer) As Integer
[C#] public virtual int GetDaysInMonth(int, int);
[C++] public: virtual int GetDaysInMonth(int, int);
[JScript] public function GetDaysInMonth(int, int) : int;
When overridden in a derived class, returns the number of days in the specified month in the specified year in the specified era.
Supported by the .NET Compact Framework.
[Visual Basic] Overloads Public MustOverride Function GetDaysInMonth(Integer, Integer, Integer) As Integer
[C#] public abstract int GetDaysInMonth(int, int, int);
[C++] public: virtual int GetDaysInMonth(int, int, int) = 0;
[JScript] public abstract function GetDaysInMonth(int, int, int) : int;
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 GetDaysInMonth. 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