GregorianCalendar.GetDaysInMonth(Int32, Int32, Int32) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns the number of days in the specified month in the specified year in the specified era.
public:
override int GetDaysInMonth(int year, int month, int era);
public override int GetDaysInMonth (int year, int month, int era);
override this.GetDaysInMonth : int * int * int -> int
Public Overrides Function GetDaysInMonth (year As Integer, month As Integer, era As Integer) As Integer
Parameters
- year
- Int32
An integer that represents the year.
- month
- Int32
An integer from 1 to 12 that represents the month.
- era
- Int32
An integer that represents the era.
Returns
The number of days in the specified month in the specified year in the specified era.
Exceptions
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.
Examples
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
*/
using System;
using System.Globalization;
public class SamplesGregorianCalendar {
public static void Main() {
// Creates and initializes a GregorianCalendar.
GregorianCalendar myCal = new 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
*/
Imports System.Globalization
Public Class SamplesGregorianCalendar
Public Shared Sub Main()
' Creates and initializes a GregorianCalendar.
Dim myCal As New GregorianCalendar()
' Displays the header.
Console.Write("YEAR" + ControlChars.Tab)
Dim y As Integer
For y = 2001 To 2005
Console.Write(ControlChars.Tab + "{0}", y)
Next y
Console.WriteLine()
' Displays the value of the CurrentEra property.
Console.Write("CurrentEra:")
For y = 2001 To 2005
Console.Write(ControlChars.Tab + "{0}", myCal.GetDaysInMonth(y, 2, GregorianCalendar.CurrentEra))
Next y
Console.WriteLine()
' Displays the values in the Eras property.
Dim i As Integer
For i = 0 To myCal.Eras.Length - 1
Console.Write("Era {0}:" + ControlChars.Tab, myCal.Eras(i))
For y = 2001 To 2005
Console.Write(ControlChars.Tab + "{0}", myCal.GetDaysInMonth(y, 2, myCal.Eras(i)))
Next y
Console.WriteLine()
Next i
End Sub
End Class
'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
Remarks
For example, this method returns 28 or 29 for February (month
= 2), depending on whether year
is a leap year.