JapaneseEra

public final class JapaneseEra
extends Object implements Era, Serializable

java.lang.Object
   ↳ java.time.chrono.JapaneseEra


An era in the Japanese Imperial calendar system.

The Japanese government defines the official name and start date of each era. Eras are consecutive and their date ranges do not overlap, so the end date of one era is always the day before the start date of the next era.

The Java SE Platform supports all eras defined by the Japanese government, beginning with the Meiji era. Each era is identified in the Platform by an integer value and a name. The of(int) and valueOf(java.lang.String) methods may be used to obtain a singleton instance of JapaneseEra for each era. The values() method returns the singleton instances of all supported eras.

For convenience, this class declares a number of public static final fields that refer to singleton instances returned by the values() method.

Summary

Fields

public static final JapaneseEra HEISEI

The singleton instance for the 'Heisei' era (1989-01-08 - 2019-04-30) which has the value 2.

public static final JapaneseEra MEIJI

The singleton instance for the 'Meiji' era (1868-01-01 - 1912-07-29) which has the value -1.

public static final JapaneseEra REIWA

The singleton instance for the 'Reiwa' era (2019-05-01 - ) which has the value 3.

public static final JapaneseEra SHOWA

The singleton instance for the 'Showa' era (1926-12-25 - 1989-01-07) which has the value 1.

public static final JapaneseEra TAISHO

The singleton instance for the 'Taisho' era (1912-07-30 - 1926-12-24) which has the value 0.

Public methods

String getDisplayName(TextStyle style, Locale locale)

Gets the textual representation of this era.

int getValue()

Gets the numeric era int value.

static JapaneseEra of(int japaneseEra)

Obtains an instance of JapaneseEra from an int value.

ValueRange range(TemporalField field)

Gets the range of valid values for the specified field.

String toString()

Returns a string representation of the object.

static JapaneseEra valueOf(String japaneseEra)

Returns the JapaneseEra with the name.

static JapaneseEra[] values()

Returns an array of JapaneseEras.

Inherited methods

Fields

HEISEI

Added in API level 26
public static final JapaneseEra HEISEI

The singleton instance for the 'Heisei' era (1989-01-08 - 2019-04-30) which has the value 2.

MEIJI

Added in API level 26
public static final JapaneseEra MEIJI

The singleton instance for the 'Meiji' era (1868-01-01 - 1912-07-29) which has the value -1.

REIWA

Added in API level 30
public static final JapaneseEra REIWA

The singleton instance for the 'Reiwa' era (2019-05-01 - ) which has the value 3. The end date of this era is not specified, unless the Japanese Government defines it.

SHOWA

Added in API level 26
public static final JapaneseEra SHOWA

The singleton instance for the 'Showa' era (1926-12-25 - 1989-01-07) which has the value 1.

TAISHO

Added in API level 26
public static final JapaneseEra TAISHO

The singleton instance for the 'Taisho' era (1912-07-30 - 1926-12-24) which has the value 0.

Public methods

getDisplayName

Added in API level 26
public String getDisplayName (TextStyle style, 
                Locale locale)

Gets the textual representation of this era.

This returns the textual name used to identify the era, suitable for presentation to the user. The parameters control the style of the returned text and the locale.

If no textual mapping is found then the numeric value is returned.

Parameters
style TextStyle:

locale Locale:

Returns
String the text value of the era, not null

getValue

Added in API level 26
public int getValue ()

Gets the numeric era int value.

The SHOWA era that contains 1970-01-01 (ISO calendar system) has the value 1. Later eras are numbered from 2 (HEISEI). Earlier eras are numbered 0 (TAISHO), -1 (MEIJI)).

Returns
int the era value

of

Added in API level 26
public static JapaneseEra of (int japaneseEra)

Obtains an instance of JapaneseEra from an int value.

  • The value 1 is associated with the 'Showa' era, because it contains 1970-01-01 (ISO calendar system).
  • The values -1 and 0 are associated with two earlier eras, Meiji and Taisho, respectively.
  • A value greater than 1 is associated with a later era, beginning with Heisei (2).

Every instance of JapaneseEra that is returned from the values() method has an int value (available via Era.getValue() which is accepted by this method.

Parameters
japaneseEra int: the era to represent

Returns
JapaneseEra the JapaneseEra singleton, not null

Throws
DateTimeException if the value is invalid

range

Added in API level 26
public ValueRange range (TemporalField field)

Gets the range of valid values for the specified field.

The range object expresses the minimum and maximum valid values for a field. This era is used to enhance the accuracy of the returned range. If it is not possible to return the range, because the field is not supported or for some other reason, an exception is thrown.

If the field is a ChronoField then the query is implemented here. The ERA field returns the range. All other ChronoField instances will throw an UnsupportedTemporalTypeException.

If the field is not a ChronoField, then the result of this method is obtained by invoking TemporalField.rangeRefinedBy(TemporalAccessor) passing this as the argument. Whether the range can be obtained is determined by the field.

The range of valid Japanese eras can change over time due to the nature of the Japanese calendar system.

Parameters
field TemporalField: the field to query the range for, not null

Returns
ValueRange the range of valid values for the field, not null

Throws
DateTimeException if the range for the field cannot be obtained
UnsupportedTemporalTypeException if the unit is not supported

toString

Added in API level 26
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

valueOf

Added in API level 26
public static JapaneseEra valueOf (String japaneseEra)

Returns the JapaneseEra with the name.

The string must match exactly the name of the era. (Extraneous whitespace characters are not permitted.)

Valid era names are the names of eras returned from values().

Parameters
japaneseEra String: the japaneseEra name; non-null

Returns
JapaneseEra the JapaneseEra singleton, never null

Throws
IllegalArgumentException if there is not JapaneseEra with the specified name

values

Added in API level 26
public static JapaneseEra[] values ()

Returns an array of JapaneseEras. The array may contain eras defined by the Japanese government beyond the known era singletons.

This method may be used to iterate over the JapaneseEras as follows:

 for (JapaneseEra c : JapaneseEra.values())
     System.out.println(c);
 

Returns
JapaneseEra[] an array of JapaneseEras