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

クラスHijrahChronology

  • すべての実装されたインタフェース:
    Serializable, Comparable<Chronology>, Chronology

    public final class HijrahChronology
    extends AbstractChronology
    implements Serializable
    ヒジュラ暦はイスラム暦をサポートする太陰暦です。

    HijrahChronologyはヒジュラ暦体系のルールに従います。 ヒジュラ暦は、新月が発生したと判断されるタイミングと観察が行われた場所の違いに基づいて、いくつかのバリアントがあります。 一部のバリアントでは、各月の長さが月と地球の天文学データからアルゴリズムで計算され、他のバリアントでは、月の長さが、承認された新月の観測によって決定されます。 アルゴリズムに基づいた暦の場合、暦は未来まで予測することができます。 観測に基づいた暦の場合は、過去の観測からの履歴データのみを使用できます。

    各月の長さは29日または30日です。 通常の年は354日で、うるう年は355日です。

    CLDRとLDMLでバリアントを識別します。

    ヒジュラ暦のバリアント
    暦ID カレンダ・タイプ ロケール拡張子、Localeを参照 説明
    Hijrah-umalqura islamic-umalqura ca-islamic-umalqura イスラム暦 - サウジ・アラビアのウム・アルクラ暦

    追加のバリアントはChronology.getAvailableChronologies()から使用できます。

    ロケールからの暦の選択では、Chronology.ofLocale(java.util.Locale)を使用して、ロケールでサポートされているBCP 47拡張メカニズムに基づいて、暦を見つけ、特定の暦(ca)を要求します。 次に例を示します。

          Locale locale = Locale.forLanguageTag("en-US-u-ca-islamic-umalqura");
          Chronology chrono = Chronology.ofLocale(locale);
     
    実装要件:
    このクラスは不変でスレッドセーフです。
    実装上のノート:
    ヒジュラ暦の各バリアントは個別に構成されます。 各バリアントは、IDcalendar type、暦の開始、ISO暦との調整、一定の範囲の年の各月の長さを定義するプロパティ・リソースによって定義されます。 変種は、hijrah-config-<calendar type>.propertiesのリソースとしてHijrahChronologyによってロードされます。

    ヒジュラ暦のプロパティ・リソースは暦を記述する一連のプロパティです。 構文はjava.util.Properties#load(Reader)によって定義されます。

    ヒジュラ暦の構成
    プロパティ名 プロパティ値 説明
    id 暦ID、例: Hijrah-umalqura 一般的な使用方法での暦のID
    type カレンダ・タイプ、例: islamic-umalqura LDMLはカレンダ・タイプを定義します
    version バージョン、例: 1.8.0_1 ヒジュラ暦のバリアントのバージョン・データ
    iso-start yyyy-MM-ddで書式設定されたISO開始日、例: 1900-04-30 ヒジュラ暦の最小の年の初日のISO日付。
    yyyy - 4桁の数値の年、例: 1434 値は12か月の長さのシーケンス、例: 29 30 29 30 29 30 30 30 29 30 29 29 空白で区切られた年の12か月の長さ。 ギャップなくすべての年について、数値の年プロパティが存在する必要があります。 月の長さは29-32 (この値を含む)の間である必要があります。

    導入されたバージョン:
    1.8
    関連項目:
    直列化された形式
    • フィールドの詳細

      • INSTANCE

        public static final HijrahChronology INSTANCE
        サウジ・アラビアのイスラム・ウム・アルクラ暦のシングルトン・インスタンス。 その他のヒジュラ暦のバリアントはChronology.getAvailableChronologies()から使用できる場合があります。
    • メソッドの詳細

      • getId

        public String getId()
        暦のIDを取得します。

        このIDはChronologyを一意に識別します。 これは、Chronology.of(String)を使用して、Chronologyを検索するために使用できます。

        定義:
        インタフェースChronologygetId
        戻り値:
        暦ID、null以外
        関連項目:
        getCalendarType()
      • getCalendarType

        public String getCalendarType()
        イスラム暦のカレンダ・タイプを取得します。

        カレンダ・タイプはUnicode Locale Data Markup Language (LDML)の仕様によって定義された識別子です。 これは、Chronology.of(String)を使用して、Chronologyを検索するために使用できます。

        定義:
        インタフェースChronologygetCalendarType
        戻り値:
        暦体系のタイプ、暦が標準タイプでない場合はnull以外、それ以外の場合はnull
        関連項目:
        getId()
      • date

        public HijrahDate date​(Era era,
                               int yearOfEra,
                               int month,
                               int dayOfMonth)
        紀元、紀元年、月、および月間通算日フィールドから、ヒジュラ暦体系のローカル日付を取得します。
        定義:
        インタフェースChronologydate
        パラメータ:
        era - ヒジュラ暦の紀元、null以外
        yearOfEra - 紀元の年
        month - 年の月
        dayOfMonth - 「月の日」
        戻り値:
        ヒジュラ暦のローカル日付、null以外
        例外:
        DateTimeException - 日付を作成できない場合
        ClassCastException - eraHijrahEraでない場合
      • date

        public HijrahDate date​(int prolepticYear,
                               int month,
                               int dayOfMonth)
        先発暦の年、年の月、および月間通算日フィールドから、ヒジュラ暦体系のローカル日付を取得します。
        定義:
        インタフェースChronologydate
        パラメータ:
        prolepticYear - 先発暦の年
        month - 年の月
        dayOfMonth - 「月の日」
        戻り値:
        ヒジュラ暦のローカル日付、null以外
        例外:
        DateTimeException - 日付を作成できない場合
      • dateYearDay

        public HijrahDate dateYearDay​(Era era,
                                      int yearOfEra,
                                      int dayOfYear)
        紀元、紀元年、および年間通算日フィールドから、ヒジュラ暦体系のローカル日付を取得します。
        定義:
        インタフェースChronologydateYearDay
        パラメータ:
        era - ヒジュラ暦の紀元、null以外
        yearOfEra - 紀元の年
        dayOfYear - 「年の日」
        戻り値:
        ヒジュラ暦のローカル日付、null以外
        例外:
        DateTimeException - 日付を作成できない場合
        ClassCastException - eraHijrahEraでない場合
      • dateYearDay

        public HijrahDate dateYearDay​(int prolepticYear,
                                      int dayOfYear)
        先発暦の年および年間通算日フィールドから、ヒジュラ暦体系のローカル日付を取得します。
        定義:
        インタフェースChronologydateYearDay
        パラメータ:
        prolepticYear - 先発暦の年
        dayOfYear - 「年の日」
        戻り値:
        ヒジュラ暦のローカル日付、null以外
        例外:
        DateTimeException - 年の値が範囲外である場合、または年に対して「年の日」が無効である場合
      • dateEpochDay

        public HijrahDate dateEpochDay​(long epochDay)
        エポック日から、ヒジュラ暦体系のローカル日付を取得します。
        定義:
        インタフェースChronologydateEpochDay
        パラメータ:
        epochDay - エポック日
        戻り値:
        ヒジュラ暦のローカル日付、null以外
        例外:
        DateTimeException - 日付を作成できない場合
      • eraOf

        public HijrahEra eraOf​(int eraValue)
        数値からHijrahEraオブジェクトを作成します。 ヒジュラ暦体系には0より大きい先発暦の年をカバーする紀元が1つしかありません。 このメソッドは、値1のシングルトンHijrahEraを返します。
        定義:
        インタフェースChronologyeraOf
        パラメータ:
        eraValue - 紀元の値
        戻り値:
        暦体系の紀元、null以外
        例外:
        DateTimeException - 紀元を作成できない場合