共用方式為


UmAlQuraCalendar.GetEra Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Updated: October 2010

Returns the era of a specified DateTime value.

Namespace:  System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overrides Function GetEra ( _
    time As DateTime _
) As Integer
public override int GetEra(
    DateTime time
)

Parameters

Return Value

Type: System.Int32
Always returns the CurrentEra value.

Exceptions

Exception Condition
ArgumentOutOfRangeException

time is outside the range supported by this calendar.

Remarks

The Hijri calendar recognizes one era: A.H. (Latin "Anno Hegirae", which means "the year of the migration," in reference to the migration of Muhammad from Mecca).

Examples

The following example displays the values of several components of a date in the Um Al Qura calendar.

Imports System.Globalization

Module Example
   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim date1 As Date = New Date(2011, 4, 3, New GregorianCalendar())
      Dim cal As New UmAlQuraCalendar()

      outputBlock.Text &= String.Format("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", 
                                        date1) & vbCrLf
      DisplayCalendarInfo(outputBlock, cal, date1)

      ' Add 2 years and 10 months by calling UmAlQuraCalendar methods.
      date1 = cal.AddYears(date1, 2)
      date1 = cal.AddMonths(date1, 10)

      outputBlock.Text += String.Format("After adding 2 years and 10 months in the {0} calendar,",  
                        GetCalendarName(cal)) & vbCrLf
      outputBlock.Text &= String.Format("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", 
                                        date1) & vbCrLf 
      DisplayCalendarInfo(outputBlock, cal, date1)
   End Sub

   Private Sub DisplayCalendarInfo(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal cal As Calendar, ByVal date1 As Date)
      outputBlock.Text += String.Format("   Calendar:   {0}", GetCalendarName(cal)) & vbCrLf
      outputBlock.Text += String.Format("   Era:        {0}", cal.GetEra(date1)) & vbCrLf
      outputBlock.Text += String.Format("   Year:       {0}", cal.GetYear(date1)) & vbCrLf
      outputBlock.Text += String.Format("   Month:      {0}", cal.GetMonth(date1)) & vbCrLf
      outputBlock.Text += String.Format("   DayOfYear:  {0}", cal.GetDayOfYear(date1)) & vbCrLf
      outputBlock.Text += String.Format("   DayOfMonth: {0}", cal.GetDayOfMonth(date1)) & vbCrLf
      outputBlock.Text += String.Format("   DayOfWeek:  {0}", cal.GetDayOfWeek(date1)) & vbCrLf
      outputBlock.Text &= vbCrLf
   End Sub

   Private Function GetCalendarName(ByVal cal As Calendar) As String
      Return cal.ToString().Replace("System.Globalization.", "").
      Replace("Calendar", "")
   End Function
End Module
' The example displays the following output:
'    April 3, 2011 in the Gregorian calendar is equivalent to:
'       Calendar:   UmAlQura
'       Era:        1
'       Year:       1432
'       Month:      4
'       DayOfYear:  118
'       DayOfMonth: 29
'       DayOfWeek:  Sunday
'    
'    After adding 2 years and 10 months in the UmAlQura calendar,
'    January 1, 2014 in the Gregorian calendar is equivalent to:
'       Calendar:   UmAlQura
'       Era:        1
'       Year:       1435
'       Month:      2
'       DayOfYear:  59
'       DayOfMonth: 29
'       DayOfWeek:  Wednesday
using System;
using System.Globalization;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      DateTime date1 = new DateTime(2011, 4, 3, new GregorianCalendar());
      Calendar cal = new UmAlQuraCalendar();

      outputBlock.Text += String.Format("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:\n", 
                                        date1);
      DisplayCalendarInfo(outputBlock, cal, date1);

      // Add 2 years and 10 months by calling UmAlQuraCalendar methods.
      date1 = cal.AddYears(date1, 2);
      date1 = cal.AddMonths(date1, 10);

      outputBlock.Text += String.Format("After adding 2 years and 10 months in the {0} calendar,\n",
                        GetCalendarName(cal));
      outputBlock.Text += String.Format("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:\n", 
                                        date1);
      DisplayCalendarInfo(outputBlock, cal, date1);
   }

   private static void DisplayCalendarInfo(System.Windows.Controls.TextBlock outputBlock, Calendar cal, DateTime date1)
   {
      outputBlock.Text += String.Format("   Calendar:   {0}", GetCalendarName(cal)) + "\n";
      outputBlock.Text += String.Format("   Era:        {0}", cal.GetEra(date1)) + "\n";
      outputBlock.Text += String.Format("   Year:       {0}", cal.GetYear(date1)) + "\n";
      outputBlock.Text += String.Format("   Month:      {0}", cal.GetMonth(date1)) + "\n";
      outputBlock.Text += String.Format("   DayOfYear:  {0}", cal.GetDayOfYear(date1)) + "\n";
      outputBlock.Text += String.Format("   DayOfMonth: {0}", cal.GetDayOfMonth(date1)) + "\n";
      outputBlock.Text += String.Format("   DayOfWeek:  {0}\n", cal.GetDayOfWeek(date1)) + "\n";
   }

   private static string GetCalendarName(Calendar cal)
   {
      return cal.ToString().Replace("System.Globalization.", "").
             Replace("Calendar", "");
   }
}
// The example displays the following output:
//    April 3, 2011 in the Gregorian calendar is equivalent to:
//       Calendar:   UmAlQura
//       Era:        1
//       Year:       1432
//       Month:      4
//       DayOfYear:  118
//       DayOfMonth: 29
//       DayOfWeek:  Sunday
//    
//    After adding 2 years and 10 months in the UmAlQura calendar,
//    January 1, 2014 in the Gregorian calendar is equivalent to:
//       Calendar:   UmAlQura
//       Era:        1
//       Year:       1435
//       Month:      2
//       DayOfYear:  59
//       DayOfMonth: 29
//       DayOfWeek:  Wednesday

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Change History

Date

History

Reason

October 2010

Replaced the example.

Customer feedback.