UmAlQuraCalendar.GetDaysInMonth(Int32, Int32, Int32) 方法
定义
计算指定纪元年份的指定月份中的天数。Calculates the number of days in the specified month of the specified year and 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
参数
- year
- Int32
年份。A year.
- month
- Int32
1 到 12 之间的一个整数,用于表示月。An integer from 1 through 12 that represents a month.
- era
- Int32
纪元。An era. 指定 UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra] 或 UmAlQuraEra。Specify UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra] or UmAlQuraEra.
返回
指定纪元年份中指定月份的天数。The number of days in the specified month in the specified year and era. 返回值是 29(在平年中)或 30(在闰年中)。The return value is 29 in a common year and 30 in a leap year.
例外
year、month 或 era 超出了 UmAlQuraCalendar 类支持的范围。year, month, or era is outside the range supported by the UmAlQuraCalendar class.
示例
下面的示例调用 GetDaysInMonth 方法,以获取每个月连续年份的天数。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 Main()
{
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.
Console.WriteLine(" Days in Each Month, {0} to {1}\n",
startYear, startYear + 4);
Console.WriteLine("Month {0} {1} {2} {3} {4}",
startYear, startYear + 1, startYear + 2, startYear + 3,
startYear + 4);
for (int year = startYear; year <= startYear + 4; year++) {
int days;
for (int month = 1; month <= cal.GetMonthsInYear(year, UmAlQuraCalendar.UmAlQuraEra);
month++)
{
days = cal.GetDaysInMonth(year, month,
UmAlQuraCalendar.UmAlQuraEra);
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)
Console.WriteLine(item);
}
}
// 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
Imports System.Collections.Generic
Imports System.Globalization
Module Example
Public Sub Main()
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.
Console.WriteLine(" Days in Each Month, {0} to {1}",
startYear, startYear + 4)
Console.WriteLine()
Console.WriteLine("Month {0} {1} {2} {3} {4}",
startYear, startYear + 1, startYear + 2,
startYear + 3, startYear + 4)
For year As Integer = startYear To startYear + 4
Dim days As Integer
For month As Integer = 1 To _
cal.GetMonthsInYear(year, UmAlQuraCalendar.UmALQuraEra)
days = cal.GetDaysInMonth(year, month,
UmAlQuraCalendar.UmALQuraEra)
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
Console.WriteLine(item)
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
注解
此方法返回一个共同年份与闰年不同的指定月份的天数。This method returns a different number of days in a specified month for a common year versus a leap year. 例如,根据是否为闰年,此方法为 Zulhijjah (month = 12) 返回29或 30 year 。For example, this method returns 29 or 30 for Zulhijjah (month = 12), depending on whether year is a leap year.