UmAlQuraCalendar.GetDaysInYear(Int32, Int32) Method

Definition

Calculates the number of days in the specified year of the specified era.

public:
 override int GetDaysInYear(int year, int era);
public override int GetDaysInYear (int year, int era);
override this.GetDaysInYear : int * int -> int
Public Overrides Function GetDaysInYear (year As Integer, era As Integer) As Integer

Parameters

year
Int32

A year.

era
Int32

An era. Specify UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra] or UmAlQuraEra.

Returns

The number of days in the specified year and era. The number of days is 354 in a common year or 355 in a leap year.

Exceptions

year or era is outside the range supported by the UmAlQuraCalendar class.

Examples

The following example calls the GetDaysInYear method to get the number of days in ten consecutive years in each era supported by the UmAlQuraCalendar class.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      Calendar cal = new UmAlQuraCalendar();
      int currentYear = cal.GetYear(DateTime.Now);

      Console.WriteLine("Era     Year     Days\n");
      foreach (int era in cal.Eras) {
         for (int year = currentYear; year <= currentYear + 9; year++) {
            Console.WriteLine("{0}{1}      {2}      {3}",
                              ShowCurrentEra(cal, era), era, year,
                              cal.GetDaysInYear(year, era));
         }
      }
      Console.WriteLine("\n   * Indicates the current era.");
   }

   private static string ShowCurrentEra(Calendar cal, int era)
   {
      if (era == cal.Eras[Calendar.CurrentEra])
         return "*";
      else
         return " ";
   }
}
// The example displays the following output:
//       Era     Year     Days
//
//       *1      1431      354
//       *1      1432      354
//       *1      1433      355
//       *1      1434      354
//       *1      1435      355
//       *1      1436      354
//       *1      1437      354
//       *1      1438      354
//       *1      1439      355
//       *1      1440      354
//
//          * Indicates the current era.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cal As New UmAlQuraCalendar()
      Dim currentYear As Integer = cal.GetYear(Date.Now)
      
      Console.WriteLine("Era     Year     Days")
      Console.WriteLine()
      For Each era As Integer In cal.Eras
         For year As Integer = currentYear To currentYear + 9
            Console.WriteLine("{0}{1}      {2}      {3}", 
                              ShowCurrentEra(cal, era), era, year, 
                              cal.GetDaysInYear(year, era))   
         Next     
      Next   
      Console.WriteLine()
      Console.WriteLine("   * Indicates the current era.")
   End Sub
   
   Private Function ShowCurrentEra(cal As Calendar, era As Integer) As String
      If era = cal.Eras(Calendar.CurrentEra) Then
         Return "*"
      Else
         Return " "
      End If   
   End Function
End Module
' The example displays the following output:
'       Era     Year     Days
'       
'       *1      1431      354
'       *1      1432      354
'       *1      1433      355
'       *1      1434      354
'       *1      1435      355
'       *1      1436      354
'       *1      1437      354
'       *1      1438      354
'       *1      1439      355
'       *1      1440      354
'       
'          * Indicates the current era.

Applies to

See also