UmAlQuraCalendar.GetDaysInMonth Method (Int32, Int32, Int32)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Updated: October 2010
Calculates the number of days in the specified month of the specified year and era.
Namespace: System.Globalization
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides Function GetDaysInMonth ( _
year As Integer, _
month As Integer, _
era As Integer _
) As Integer
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.
Exceptions
Exception | Condition |
---|---|
ArgumentOutOfRangeException | year, month, or era is outside the range supported by the UmAlQuraCalendar class. |
Remarks
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.
Examples
The following example calls the GetDaysInMonth method to get the number of days in each month of five consecutive years.
Imports System.Collections.Generic
Imports System.Globalization
Module Example
Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
outputBlock.FontFamily = new System.Windows.Media.FontFamily("Courier New")
Dim cal As New UmAlQuraCalendar()
Dim months As New List(Of String)
Dim output As String = String.Empty
' Get the current year in the UmAlQura calendar.
Dim startYear As Integer = cal.GetYear(Date.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}",
startYear, startYear + 4) & vbCrLf
outputBlock.Text &= vbCrLf
outputBlock.Text += String.Format("Month {0} {1} {2} {3} {4}",
startYear, startYear + 1, startYear + 2,
startYear + 3, startYear + 4) & vbCrLf
For year As Integer = startYear To startYear + 4
Dim days As Integer
For month As Integer = 1 To cal.GetMonthsInYear(year, cal.Eras(UmAlQuraCalendar.CurrentEra))
days = cal.GetDaysInMonth(year, month,
cal.Eras(UmAlQuraCalendar.CurrentEra))
output = String.Format("{0} ", days)
If months.Count < month Then
months.Add(String.Format("{0,4} {1}",
month, output))
Else
months.Item(month - 1) += " " + output
End If
Next
Next
For Each item In months
outputBlock.Text &= item & vbCrLf
Next
End Sub
End Module
' 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
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
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Change History
Date |
History |
Reason |
---|---|---|
October 2010 |
Corrected return value information and replaced the example. |
Customer feedback. |