Partager via


JapaneseCalendar.GetEra Method

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

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
An integer that represents the era of the specified DateTime value.

Exceptions

Exception Condition
ArgumentException

The resulting DateTime is outside the supported range.

Remarks

The Japanese calendar recognizes one era for every emperor's reign. The current era is the Heisei era, which began in the Gregorian calendar year 1989. The era name is typically displayed before the year. For example, the Gregorian calendar year 2001 is the Japanese calendar year Heisei 13. Note that the first year of an era is called "Gannen." Therefore, the Gregorian calendar year 1989 was the Japanese calendar year Heisei Gannen.

This class assigns numbers to the eras as follows:

GetEra value

Era Name

Era Abbreviation

Gregorian Dates

4

平成 (Heisei)

平 (H, h)

January 8, 1989 to present

3

昭和 (Showa)

昭 (S, s)

December 25, 1926 to January 7, 1989

2

大正 (Taisho)

大 (T, t)

July 30, 1912 to December 24, 1926

1

明治 (Meiji)

明 (M, m)

January 1, 1868 to July 29, 1912

This class handles only dates from the first day of the first month in the year Meiji 1 (January 1, 1868 of the Gregorian calendar). Although the Japanese calendar was switched from a lunar calendar to a solar calendar in the year Meiji 6 (1873 of the Gregorian calendar), this implementation is based on the solar calendar only.

Examples

The following code example displays the values of several components of a DateTime in terms of the Japanese calendar.

Imports System.Globalization

Public Class Example
   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      ' Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      Dim myDT As New DateTime(2002, 4, 3, New GregorianCalendar())

      ' Creates an instance of the JapaneseCalendar.
      Dim myCal As New JapaneseCalendar()

      ' Displays the values of the DateTime.
      outputBlock.Text += String.Format("April 3, 2002 of the Gregorian calendar equals the following in the Japanese calendar:") & vbCrLf
      DisplayValues(outputBlock, myCal, myDT)

      ' Adds two years and ten months.
      myDT = myCal.AddYears(myDT, 2)
      myDT = myCal.AddMonths(myDT, 10)

      ' Displays the values of the DateTime.
      outputBlock.Text &= "After adding two years and ten months:" & vbCrLf
      DisplayValues(outputBlock, myCal, myDT)
   End Sub 

   Public Shared Sub DisplayValues(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal myCal As Calendar, ByVal myDT As DateTime)
      outputBlock.Text += String.Format("   Era:        {0}", myCal.GetEra(myDT)) & vbCrLf
      outputBlock.Text += String.Format("   Year:       {0}", myCal.GetYear(myDT)) & vbCrLf
      outputBlock.Text += String.Format("   Month:      {0}", myCal.GetMonth(myDT)) & vbCrLf
      outputBlock.Text += String.Format("   DayOfYear:  {0}", myCal.GetDayOfYear(myDT)) & vbCrLf
      outputBlock.Text += String.Format("   DayOfMonth: {0}", myCal.GetDayOfMonth(myDT)) & vbCrLf
      outputBlock.Text += String.Format("   DayOfWeek:  {0}", myCal.GetDayOfWeek(myDT)) & vbCrLf
      outputBlock.Text &= vbCrLf
   End Sub 
End Class  
' This eample produces the following output.
' April 3, 2002 of the Gregorian calendar equals the following in the Japanese calendar:
'   Era:        4
'   Year:       14
'   Month:      4
'   DayOfYear:  93
'   DayOfMonth: 3
'   DayOfWeek:  Wednesday
'
' After adding two years and ten months:
'   Era:        4
'   Year:       17
'   Month:      2
'   DayOfYear:  34
'   DayOfMonth: 3
'   DayOfWeek:  Thursday
using System;
using System.Globalization;


public class Example
{

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {

      // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      DateTime myDT = new DateTime(2002, 4, 3, new GregorianCalendar());

      // Creates an instance of the JapaneseCalendar.
      JapaneseCalendar myCal = new JapaneseCalendar();

      // Displays the values of the DateTime.
      outputBlock.Text += String.Format("April 3, 2002 of the Gregorian calendar equals the following in the Japanese calendar:") + "\n";
      DisplayValues(outputBlock, myCal, myDT);

      // Adds two years and ten months.
      myDT = myCal.AddYears(myDT, 2);
      myDT = myCal.AddMonths(myDT, 10);

      // Displays the values of the DateTime.
      outputBlock.Text += "After adding two years and ten months:" + "\n";
      DisplayValues(outputBlock, myCal, myDT);

   }

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

}

/*
This code produces the following output.

April 3, 2002 of the Gregorian calendar equals the following in the Japanese calendar:
   Era:        4
   Year:       14
   Month:      4
   DayOfYear:  93
   DayOfMonth: 3
   DayOfWeek:  Wednesday

After adding two years and ten months:
   Era:        4
   Year:       17
   Month:      2
   DayOfYear:  34
   DayOfMonth: 3
   DayOfWeek:  Thursday

*/

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.