Compartilhar via


UmAlQuraCalendar.GetDaysInMonth(Int32, Int32, Int32) Método

Definição

Calcula o número de dias no mês especificado do ano e era especificados.

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

Parâmetros

year
Int32

Um ano.

month
Int32

Um inteiro de 1 a 12 que representa um mês.

era
Int32

Uma era. Especifique UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra] ou UmAlQuraEra.

Retornos

O número de dias no mês especificado do ano e era especificados. O valor retornado é 29 em um ano comum e 30 em um ano bissexto.

Exceções

year, month ou era está fora do intervalo com suporte da classe UmAlQuraCalendar.

Exemplos

O exemplo a seguir chama o GetDaysInMonth método para obter o número de dias em cada mês de cinco anos consecutivos.

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

Comentários

Esse método retorna um número diferente de dias em um mês especificado para um ano comum versus um ano bissexto. Por exemplo, esse método retorna 29 ou 30 para Zulhijjah (month = 12), dependendo se year é um ano bissexto.

Aplica-se a