モジュール java.base
パッケージ java.time.chrono

クラスJapaneseEra

  • すべての実装されたインタフェース:
    Serializable, Era, TemporalAccessor, TemporalAdjuster

    public final class JapaneseEra
    extends Object
    implements Era, Serializable
    和暦体系の紀元。

    日本政府は各時代の正式な名称と開始日を定めます。 時代は連続しており、その日付範囲が重なることはないため、ある時代の終了日は常に次の時代の開始日の前日です。

    Java SEプラットフォームでは、日本政府によって定められた明治時代以降のすべての時代がサポートされます。 各時代は、整数値および名前によってプラットフォームで識別されます。 of(int)およびvalueOf(String)メソッドを使用して各時代のJapaneseEraのシングルトン・インスタンスを取得できます。 values()メソッドは、サポートされているすべての時代のシングルトン・インスタンスを返します。

    便宜上、このクラスは、values()メソッドによって返されるシングルトン・インスタンスを参照するpublic static finalフィールドをいくつか宣言します。

    APIに関するノート:
    このクラスで宣言されるフィールドは、values()メソッドの結果に合せて、時間の経過とともに変わる可能性があります。 ただし、フィールドとシングルトン・インスタンスは必ずしも1対1で対応するとは限りません。日本政府が新しい時代を宣言し、その開始日を定めたが、正式な名称を定めない可能性があります。 この場合、正式な名称が定められるまで、新しい時代を表すシングルトン・インスタンスが返す名前が定まらない可能性があります。 public static finalフィールドに対応しないシングルトン・インスタンスによって返される名前に依存する場合、開発者は注意する必要があります。
    実装要件:
    このクラスは不変でスレッドセーフです。
    導入されたバージョン:
    1.8
    関連項目:
    直列化された形式
    • フィールドの詳細

      • MEIJI

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

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

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

        public static final JapaneseEra HEISEI
        値2を持つ「平成」時代(1989-01-08 - 2019-04-30)のシングルトン・インスタンス。
    • メソッドの詳細

      • of

        public static JapaneseEra of​(int japaneseEra)
        int値からJapaneseEraのインスタンスを取得します。
        • 1は1970-01-01 (ISO暦体系)が含まれているため、「昭和」時代に関連付けられています。
        • -10は、それより前の時代である明治と大正にそれぞれ関連付けられています。
        • 1より大きい値は、平成(2)以降の時代に関連付けられています。

        values()メソッドから返されるJapaneseEraの各インスタンスは、このメソッドによって受け入れられるint値(Era.getValue()を介して使用可能)を持ちます。

        パラメータ:
        japaneseEra - 表す紀元
        戻り値:
        JapaneseEraシングルトン、null以外
        例外:
        DateTimeException - 値が無効な場合
      • valueOf

        public static JapaneseEra valueOf​(String japaneseEra)
        その名前を持つJapaneseEraを返します。

        文字列は、紀元の名前と完全に一致している必要があります。 (不適切な空白文字は許可されません。)

        パラメータ:
        japaneseEra - japaneseEra名、null以外
        戻り値:
        JapaneseEraシングルトン、nullにはならない
        例外:
        IllegalArgumentException - 指定された名前を持つJapaneseEraがない場合
      • values

        public static JapaneseEra[] values()
        JapaneseErasの配列を返します。

        このメソッドは、次のようにしてJapaneseEraに対して反復処理を行うために使用できます。

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

        戻り値:
        JapaneseErasの配列
      • getDisplayName

        public String getDisplayName​(TextStyle style,
                                     Locale locale)
        この紀元のテキスト表現を取得します。

        これは、紀元の識別に使用され、ユーザーへの表示に適したテキストの名前を返します。 パラメータは返されるテキストとロケールのスタイルを制御します。

        テキスト・マッピングが見つからない場合、数値が返されます。

        定義:
        インタフェースEra内のgetDisplayName
        パラメータ:
        style - 必要なテキストのスタイル、null以外
        locale - 使用するロケール。null以外
        戻り値:
        紀元のテキスト値、null以外
      • getValue

        public int getValue()
        数値の紀元のint値を取得します。

        1970-01-01 (ISO暦体系)を含むSHOWA紀元の値は1です。 以降の紀元は2 (HEISEI)から番号付けされます。 以前の紀元は 0 (TAISHO)、-1 (MEIJI)と番号付けされます。

        定義:
        インタフェースEragetValue
        戻り値:
        紀元値
      • range

        public ValueRange range​(TemporalField field)
        指定されたフィールドの有効な値の範囲を取得します。

        範囲オブジェクトはフィールドの有効な最小値と最大値を表します。 この紀元は、返される範囲の精度を向上するために使われます。 範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。

        フィールドがChronoFieldの場合、ここに問合せを実装します。 ERAフィールドは範囲を返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。

        フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.rangeRefinedBy(TemporalAccessor)を呼び出すことにより取得されます。 範囲を取得できるかどうかはフィールドによって決まります。

        有効な和暦の紀元の範囲は、和暦体系の性質のため、時間の経過とともに変更される可能性があります。

        定義:
        インタフェースErarange
        定義:
        インタフェースTemporalAccessorrange
        パラメータ:
        field - 範囲を問い合わせるフィールド、null以外
        戻り値:
        フィールドの有効値の範囲。null以外
        例外:
        DateTimeException - フィールドの範囲を取得できない場合
        UnsupportedTemporalTypeException - 単位がサポートされていない場合