UmAlQuraCalendar.GetDaysInYear(Int32, Int32) 方法

定义

计算指定纪元的指定年份中的天数。

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

参数

year
Int32

年份。

era
Int32

纪元。 指定 UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra]UmAlQuraEra

返回

指定纪元年份中的天数。 天数在平年中为 354,在闰年中为 355。

例外

yearera 超出了 UmAlQuraCalendar 类支持的范围。

示例

以下示例调用 GetDaysInYear 方法以获取 类支持 UmAlQuraCalendar 的每个纪元中连续十年的天数。

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.

适用于

另请参阅