Compartir a través de


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

Definición

Calcula el número de días del mes especificado en el año y la 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

Un año.

month
Int32

Entero de 1 a 12 que representa el mes.

era
Int32

Una era. Indique UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra] o UmAlQuraEra.

Devoluciones

El número de días del mes especificado en el año y la era especificados. El valor devuelto es 29 en un año normal y 30 en un año bisiesto.

Excepciones

year, month o era está fuera del intervalo admitido por la clase UmAlQuraCalendar.

Ejemplos

En el ejemplo siguiente se llama al GetDaysInMonth método para obtener el número de días en cada mes de cinco años 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

Comentarios

Este método devuelve un número diferente de días en un mes especificado para un año común frente a un año bisiesto. Por ejemplo, este método devuelve 29 o 30 para Zulhijjah (month = 12), dependiendo de si year es un año bisiesto.

Se aplica a