Windows Dev Center

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 override int GetDaysInMonth(
	int year,
	int month,
	int era
)

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.

ExceptionCondition
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 System;
using System.Globalization;


public class Example
{

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {

      // Creates and initializes a GregorianCalendar.
      GregorianCalendar myCal = new GregorianCalendar();

      // Displays the header.
      outputBlock.Text += "YEAR\t";
      for (int y = 2001; y <= 2005; y++)
         outputBlock.Text += String.Format("\t{0}", y);
      outputBlock.Text += "\n";

      // Displays the value of the CurrentEra property.
      outputBlock.Text += "CurrentEra:";
      for (int y = 2001; y <= 2005; y++)
         outputBlock.Text += String.Format("\t{0}", myCal.GetDaysInMonth(y, 2, GregorianCalendar.CurrentEra));
      outputBlock.Text += "\n";

      // Displays the values in the Eras property.
      for (int i = 0; i < myCal.Eras.Length; i++)
      {
         outputBlock.Text += String.Format("Era {0}:\t", myCal.Eras[i]);
         for (int y = 2001; y <= 2005; y++)
            outputBlock.Text += String.Format("\t{0}", myCal.GetDaysInMonth(y, 2, myCal.Eras[i]));
         outputBlock.Text += "\n";
      }

   }

}

/*
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

*/


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2015 Microsoft