GetDaysInMonth Method (Int32, Int32, Int32)
Collapse the table of content
Expand the table of content

UmAlQuraCalendar.GetDaysInMonth Method (Int32, Int32, Int32)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

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

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

'Declaration
Public Overrides Function GetDaysInMonth ( _
	year As Integer, _
	month As Integer, _
	era As Integer _
) As Integer

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.


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


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft