UmAlQuraCalendar.GetDaysInMonth Method (Int32, Int32, Int32)

July 28, 2014

Calculates the number of days in the specified month of the specified year and era.

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

public override int GetDaysInMonth(
	int year,
	int month,
	int era
)

Parameters

year
Type: System.Int32
A year.
month
Type: System.Int32
An integer from 1 through 12 that represents a month.
era
Type: System.Int32
An era. Specify UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra].

Return Value

Type: System.Int32
The number of days in the specified month in the specified year and era. The return value is 29 in a common year and 30 in a leap year.

ExceptionCondition
ArgumentOutOfRangeException

year, month, or era is outside the range supported by the UmAlQuraCalendar class.

This method returns a different number of days in a specified month for a common year versus a leap year. For example, this method returns 29 or 30 for Zulhijjah (month = 12), depending on whether year is a leap year.

The following example calls the GetDaysInMonth method to get the number of days in each month of five consecutive years.


using System;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      outputBlock.FontFamily = new System.Windows.Media.FontFamily("Courier New");

      UmAlQuraCalendar cal = new UmAlQuraCalendar();
      List<string> months = new List<string>();
      string output = String.Empty;

      // Get the current year in the UmAlQura calendar.
      int startYear = cal.GetYear(DateTime.Now);
      // Display the number of days in each month for the next five years.
      outputBlock.Text += String.Format("          Days in Each Month, {0} to {1}\n",
                        startYear, startYear + 4) + "\n";

      outputBlock.Text += String.Format("Month     {0}     {1}     {2}     {3}     {4}",
                        startYear, startYear + 1, startYear + 2, startYear + 3,
                        startYear + 4) + "\n";
      for (int year = startYear; year <= startYear + 4; year++)
      {
         int days;
         for (int month = 1; month <= cal.GetMonthsInYear(year, 
                                      cal.Eras[UmAlQuraCalendar.CurrentEra]);
                             month++)
         {
            days = cal.GetDaysInMonth(year, month,
                                      cal.Eras[UmAlQuraCalendar.CurrentEra]);
            output = String.Format("{0}     ", days);
            if (months.Count < month)
               months.Add(String.Format("{0,4}        {1}",
                                        month, output));
            else
               months[month - 1] += "  " + output;

         }
      }

      foreach (var item in months)
         outputBlock.Text += item + "\n";
   }
}
// The example displays the following output:
//                 Days in Each Month, 1431 to 1435
//       
//       Month     1431     1432     1433     1434     1435
//          1        29       29       30       29       30
//          2        30       30       29       30       29
//          3        30       30       30       29       30
//          4        29       30       30       30       29
//          5        30       29       29       29       30
//          6        29       30       30       30       29
//          7        30       29       30       30       30
//          8        29       30       29       29       29
//          9        30       29       30       30       30
//         10        29       30       29       30       30
//         11        29       29       30       29       29
//         12        30       29       29       29       30


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2014 Microsoft