UmAlQuraCalendar.GetDaysInMonth(Int32, Int32, Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
计算指定纪元年份的指定月份中的天数。
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
年份。
- month
- Int32
1 到 12 之间的一个整数,用于表示月。
- era
- Int32
纪元。 指定 UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra]
或 UmAlQuraEra。
返回
指定纪元年份中指定月份的天数。 返回值是 29(在平年中)或 30(在闰年中)。
例外
year
、month
或 era
超出了 UmAlQuraCalendar 类支持的范围。
示例
以下示例调用 GetDaysInMonth 方法以获取连续五年每个月的天数。
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
注解
此方法返回指定月份中常见年份与闰年的不同天数。 例如,此方法为 Zulhijjah 返回 29 或 30, (month
= 12) ,具体取决于是否 year
为闰年。