Condividi tramite


UmAlQuraCalendar.GetDaysInMonth(Int32, Int32, Int32) Metodo

Definizione

Calcola il numero di giorni nel mese specificato dell'anno e dell'era specificati.

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

Parametri

year
Int32

Un anno.

month
Int32

Valore intero compreso tra 1 e 12 che rappresenta un mese.

era
Int32

Un'era. Specificare UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra] o UmAlQuraEra.

Restituisce

Numero di giorni nel mese specificato dell'anno e dell'era specificati. Il valore restituito è 29 in un anno normale e 30 in un anno bisestile.

Eccezioni

year, month o era non è compreso nell'intervallo supportato dalla classe UmAlQuraCalendar.

Esempio

Nell'esempio seguente viene chiamato il GetDaysInMonth metodo per ottenere il numero di giorni in ogni mese di cinque anni consecutivi.

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

Commenti

Questo metodo restituisce un numero diverso di giorni in un mese specificato per un anno comune rispetto a un anno bisestile. Ad esempio, questo metodo restituisce 29 o 30 per Zulhijjah ( =month 12), a seconda che year sia un anno bisestile.

Si applica a