広告

Java : JapaneseEra (年号、平成・令和など) - API使用例

JapaneseEra (Java SE 21 & JDK 21) の使い方まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。


概要

和暦体系の紀元。

クラス構成

JapaneseEra は、

  • 明治
  • 大正
  • 昭和
  • 平成
  • 令和

などの年号を表すクラスです。

ちなみに、JapaneseEra.REIWA (令和) は、Java 13 から追加となりました。

final var locale = Locale.getDefault();
System.out.println(locale.toLanguageTag()); // ja-JP

{
    final var era = JapaneseEra.SHOWA;
    System.out.println(era.getValue()); // 1

    final var name = era.getDisplayName(TextStyle.FULL, locale);
    System.out.println(name); // 昭和
}
{
    final var era = JapaneseEra.HEISEI;
    System.out.println(era.getValue()); // 2

    final var name = era.getDisplayName(TextStyle.FULL, locale);
    System.out.println(name); // 平成
}
{
    final var era = JapaneseEra.REIWA;
    System.out.println(era.getValue()); // 3

    final var name = era.getDisplayName(TextStyle.FULL, locale);
    System.out.println(name); // 令和
}
final var japaneseDate1 = JapaneseDate.of(1989, 1, 8);
System.out.println(japaneseDate1); // Japanese Heisei 1-01-08
System.out.println(japaneseDate1.getEra()); // Heisei

final var japaneseDate2 = JapaneseDate.of(2019, 4, 30);
System.out.println(japaneseDate2); // Japanese Heisei 31-04-30
System.out.println(japaneseDate2.getEra()); // Heisei

final var japaneseDate3 = JapaneseDate.of(2019, 5, 1);
System.out.println(japaneseDate3); // Japanese Reiwa 1-05-01
System.out.println(japaneseDate3.getEra()); // Reiwa

フィールド

static final JapaneseEra HEISEI

値2を持つ'平成'時代(1989-01-08 - 2019-04-30)のシングルトン・インスタンス。

final var era = JapaneseEra.HEISEI;
System.out.println(era); // Heisei
System.out.println(era.getValue()); // 2

static final JapaneseEra MEIJI

値-1を持つ「明治」時代(1868-01-01 - 1912-07-29)のシングルトン・インスタンス。

final var era = JapaneseEra.MEIJI;
System.out.println(era); // Meiji
System.out.println(era.getValue()); // -1

static final JapaneseEra REIWA

値が3の'Reiwa'の紀元(2019-05-01 - )のシングルトン・インスタンス。

final var era = JapaneseEra.REIWA;
System.out.println(era); // Reiwa
System.out.println(era.getValue()); // 3

static final JapaneseEra SHOWA

値1を持つ「昭和」時代(1926-12-25 - 1989-01-07)のシングルトン・インスタンス。

final var era = JapaneseEra.SHOWA;
System.out.println(era); // Showa
System.out.println(era.getValue()); // 1

static final JapaneseEra TAISHO

値0を持つ「大正」時代(1912-07-30 - 1926-12-24)のシングルトン・インスタンス。

final var era = JapaneseEra.TAISHO;
System.out.println(era); // Taisho
System.out.println(era.getValue()); // 0

メソッド

String getDisplayName (TextStyle style, Locale locale)

この紀元のテキスト表現を取得します。

final var era = JapaneseEra.HEISEI;
System.out.println(era); // Heisei

final var name1 = era.getDisplayName(TextStyle.FULL, Locale.US);
System.out.println(name1); // Heisei

final var name2 = era.getDisplayName(TextStyle.FULL, Locale.JAPAN);
System.out.println(name2); // 平成
final var era = JapaneseEra.REIWA;
System.out.println(era); // Reiwa

final var name1 = era.getDisplayName(TextStyle.FULL, Locale.US);
System.out.println(name1); // Reiwa

final var name2 = era.getDisplayName(TextStyle.FULL, Locale.JAPAN);
System.out.println(name2); // 令和

int getValue ()

数値の紀元のint値を取得します。

for (final var era : JapaneseEra.values()) {
    System.out.printf("%s : value = %d%n", era, era.getValue());
}

// 結果
// ↓
//Meiji : value = -1
//Taisho : value = 0
//Showa : value = 1
//Heisei : value = 2
//Reiwa : value = 3

static JapaneseEra of (int japaneseEra)

int値からJapaneseEraのインスタンスを取得します。

final var era1 = JapaneseEra.of(2);
System.out.println(era1); // Heisei

final var era2 = JapaneseEra.of(3);
System.out.println(era2); // Reiwa

ValueRange range (TemporalField field)

指定されたフィールドの有効な値の範囲を取得します。

final var era = JapaneseEra.REIWA;
System.out.println(era); // Reiwa

System.out.println(era.range(ChronoField.ERA)); // -1 - 3

static JapaneseEra valueOf (String japaneseEra)

その名前を持つJapaneseEraを返します。

final var era1 = JapaneseEra.valueOf("Heisei");
System.out.println(era1); // Heisei

final var era2 = JapaneseEra.valueOf("Reiwa");
System.out.println(era2); // Reiwa

static JapaneseEra[] values ()

JapaneseErasの配列を返します。

for (final var era : JapaneseEra.values()) {
    System.out.printf("%s : value = %d%n", era, era.getValue());
}

// 結果
// ↓
//Meiji : value = -1
//Taisho : value = 0
//Showa : value = 1
//Heisei : value = 2
//Reiwa : value = 3

Eraで宣言されたメソッド

adjustInto, get, getLong, isSupported, query

Java API 使用例 : Era」をご参照ください。


関連記事

ページの先頭へ