GregorianCalendar::GetDaysInMonth Method (Int32, Int32, Int32)

 

Returns the number of days in the specified month in the specified year in the specified era.

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

public:
virtual int GetDaysInMonth(
	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::Int32

The number of days in the specified month in the specified year in the specified era.

Exception Condition
ArgumentOutOfRangeException

era is outside the range supported by the calendar.

-or-

year is outside the range supported by the calendar.

-or-

month is outside the range supported by the calendar.

For example, this method returns 28 or 29 for February (month = 2), depending on whether year is a leap year.

The following code example calls GetDaysInMonth for the second month in each of five years in each era.

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();

   // Displays the value of the CurrentEra property.
   Console::Write( "CurrentEra:" );
   for ( int y = 2001; y <= 2005; y++ )
      Console::Write( "\t {0}", myCal->GetDaysInMonth( y, 2, GregorianCalendar::CurrentEra ) );
   Console::WriteLine();

   // Displays the values in the Eras property.
   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->GetDaysInMonth( y, 2, myCal->Eras[ i ] ) );
      Console::WriteLine();

   }
}

/*
This code produces the following output.

YEAR            2001    2002    2003    2004    2005
CurrentEra:     28      28      28      29      28
Era 1:          28      28      28      29      28

*/

Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top
Show: