UmAlQuraCalendar.GetDaysInMonth(Int32, Int32, Int32) Метод

Определение

Рассчитывает количество дней в указанном месяце указанных года и эры.

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

Комментарии

Этот метод возвращает разное количество дней в указанном месяце для общего года и високосного года. Например, этот метод возвращает 29 или 30 для Zulhijjah (month = 12) в зависимости от того, является ли year високосным годом.

Применяется к