JapaneseCalendar.Eras Property


Gets the list of eras in the JapaneseCalendar.

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

public override int[] Eras { get; }

Property Value

Type: System.Int32[]

An array of integers that represents the eras in the JapaneseCalendar.

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


平成 (Heisei)

平 (H, h)

January 8, 1989 to present


昭和 (Showa)

昭 (S, s)

December 25, 1926 to January 7, 1989


大正 (Taisho)

大 (T, t)

July 30, 1912 to December 24, 1926


明治 (Meiji)

明 (M, m)

September 8, 1868 to July 29, 1912

This class handles dates from September 8 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.


Should additional eras be added in the future, applications may encounter more than the expected four eras for the Japanese calendar. Applications should be tested to ensure that they continue to work in such an event; see Era Handling for the Japanese Calendar.

The following example displays the values contained in the Eras property.

using System;
using System.Globalization;

public class SamplesJapaneseCalendar  {

   public static void Main()  {

      // Creates and initializes a JapaneseCalendar.
      JapaneseCalendar myCal = new JapaneseCalendar();

      // Displays the values in the Eras property.
      for ( int i = 0; i < myCal.Eras.Length; i++ )  {
         Console.WriteLine( "Eras[{0}] = {1}", i, myCal.Eras[i] );



This code produces the following output.

Eras[0] = 4
Eras[1] = 3
Eras[2] = 2
Eras[3] = 1


Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top