インタフェースChronology

すべてのスーパー・インタフェース:
Comparable<Chronology>
既知のすべての実装クラス:
AbstractChronology, HijrahChronology, IsoChronology, JapaneseChronology, MinguoChronology, ThaiBuddhistChronology

public interface Chronology extends Comparable<Chronology>
日付の編成と識別に使用される暦体系。

メインの日付と時間APIはISO暦体系に基づいて構築されています。 暦(chronology)は背後で動作し、暦体系の一般概念を表します。 たとえば、和暦、民国暦、タイ仏暦などです。

その他の大半の暦体系は、地球が太陽の周りを回り、月が地球の周りを回るサイクルに結び付けられた、年、月、日の共通の概念でも運用されています。 これらの共通の概念は、ChronoFieldで定義され、すべてのChronologyの実装で使用できます。

   LocalDate isoDate = ...
   ThaiBuddhistDate thaiDate = ...
   int isoYear = isoDate.get(ChronoField.YEAR);
   int thaiYear = thaiDate.get(ChronoField.YEAR);
 
ここに示すように、日付オブジェクトは異なる暦体系にあり、異なるChronologyインスタンスによって表されていますが、どちらもChronoFieldの同じ定数を使用して、問い合わせることができます。 この意味の詳細については、ChronoLocalDateを参照してく さい。 一般に、アドバイスは、ChronoLocalDateではなく、既知のISOベースのLocalDateを使用することです。

Chronologyオブジェクトは一般にChronoFieldを使用し、日付の紀元、紀元の年、年の月、「月の日」モデルに基づきます。 Chronologyインスタンスは、マヤ暦など、まったく異なる種類の暦体系を表すことができます。

実際的な観点から、Chronologyインスタンスはファクトリとしても機能します。 of(String)メソッドではインスタンスを識別子で検索できますが、ofLocale(Locale)メソッドではロケールで検索できます。

Chronologyインスタンスは、ChronoLocalDateインスタンスを作成するための一連のメソッドを提供します。 日付クラスは、特定の日付を操作するために使用します。

新しい暦の追 

一連の使用可能な暦はアプリケーションによって拡張できます。 新しい暦体系を追 するには、ChronologyChronoLocalDate、およびEraの実装を書く必要があります。 暦体系に固有のロジックの大半は、ChronoLocalDate実装にあります。 Chronology実装はファクトリとして機能します。

追 の暦の検出を許可するには、ServiceLoaderを使用します。 実装クラスを一覧表示したファイルを「java.time.chrono.Chronology」という名前で、META-INF/servicesディレクトリに追 する必要があります。 サービスのロードの詳細については、ServiceLoaderを参照してく さい。 idまたはcalendarTypeによる検索では、最初に暦を提供したシステ が見つかり、次に暦を提供したアプリケーションが続きます。

各暦では、システ 内で一意の暦IDを定義する必要があります。 時系列がCLDR仕様で定義されたカレンダ・システ を表す 合、カレンダ・タイプはCLDRタイプの連結、および該当する 合はCLDRバリアントです。

実装要件:
このインタフェースは、他のクラスが正常に動作するように、注意して実装する必要があります。 インスタンス化可能なすべての実装は、最終、不変、およびスレッドセーフである必要があります。 サブクラスは、可能であれば直列化可能にしてく さい。
導入されたバージョン:
1.8
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    この暦を別の暦と比較します。
    date(int prolepticYear, int month, int dayOfMonth)
    先発暦の年、月、および「月の日」フィールドから、この暦のローカル日付を取得します。
    date(Era era, int yearOfEra, int month, int dayOfMonth)
    紀元、紀元年、月、および「月の日」フィールドから、この暦のローカル日付を取得します。
    別の時間的オブジェクトから、この暦のローカル日付を取得します。
    dateEpochDay(long epochDay)
    エポック日から、この暦のローカル日付を取得します。
    デフォルトのタイ ゾーンのシステ ・クロックからこの暦の現在のローカル日付を取得します。
    dateNow(Clock clock)
    指定されたクロックからこの暦の現在のローカル日付を取得します。
    指定されたタイ ゾーンのシステ ・クロックからこの暦の現在のローカル日付を取得します。
    dateYearDay(int prolepticYear, int dayOfYear)
    先発暦の年および「年の日」フィールドから、この暦のローカル日付を取得します。
    dateYearDay(Era era, int yearOfEra, int dayOfYear)
    紀元、紀元年、「年の日」フィールドから、この暦のローカル日付を取得します。
    default long
    epochSecond(int prolepticYear, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset)
    1970-01-01T00:00:00Zのエポックから秒数を取得します。
    default long
    epochSecond(Era era, int yearOfEra, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset)
    1970-01-01T00:00:00Zのエポックから秒数を取得します。
    boolean
    この暦が別の暦と等しいかどうかをチェックします。
    eraOf(int eraValue)
    数値から、暦の紀元オブジェクトを作成します。
    暦の紀元のリストを取得します。
    static Chronology
    時間的オブジェクトからChronologyのインスタンスを取得します。
    static Set<Chronology>
    使用可能な暦を返します。
    暦体系のカレンダ・タイプを取得します。
    default String
    この暦のテキスト表現を取得します。
    暦のIDを取得します。
    int
    この暦のハッシュ・コード。
    default boolean
    この時系列がISOベースかどうかを確認します。
    boolean
    isLeapYear(long prolepticYear)
    指定された年がうるう年であるかどうかをチェックします。
    別の時間的オブジェクトから、この暦のローカル日付/時間を取得します。
    static Chronology
    of(String id)
    暦IDまたは暦体系タイプからChronologyのインスタンスを取得します。
    static Chronology
    ofLocale(Locale locale)
    ロケールからChronologyのインスタンスを取得します。
    default ChronoPeriod
    period(int years, int months, int days)
    この暦の期間を年、月および日に基づいて取得します。
    int
    prolepticYear(Era era, int yearOfEra)
    紀元と紀元年を指定して先発暦の年を計算します。
    指定されたフィールドの有効な値の範囲を取得します。
    resolveDate(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle)
    解析されたChronoFieldの値を解析時の日付に解決します。
    この暦をStringとして出力します。
    zonedDateTime(Instant instant, ZoneId zone)
    Instantからこの暦でChronoZonedDateTimeを取得します。
    もう一方のtemporal (一時)オブジェクトからこの暦でChronoZonedDateTimeを取得します。
  • メソッドの詳細

    • from

      static Chronology from(TemporalAccessor temporal)
      時間的オブジェクトからChronologyのインスタンスを取得します。

      これは、指定された時間的オブジェクトに基づいて暦を取得します。 TemporalAccessorは任意の日付と時間情 のセットを表し、このファクトリがChronologyのインスタンスに変換します。

      この変換では、TemporalQueries.chronology()を使用して暦を取得します。 指定された時間的オブジェクトに暦がない 合、IsoChronologyが返されます。

      このメソッドは関数型インタフェースTemporalQueryのシグネチャに一致するため、メソッド参照Chronology::fromを介して、問合せとして使用できます。

      パラメータ:
      temporal - 変換する時間的オブジェクト、null以外
      戻り値:
      暦、null以外
      スロー:
      DateTimeException - Chronologyに変換できない 合
    • ofLocale

      static Chronology ofLocale(Locale locale)
      ロケールからChronologyのインスタンスを取得します。

      これは、指定されたロケールに基づいて、Chronologyを返し、一般にIsoChronologyを返します。 その他の暦体系は、それらがロケール内で明示的に選択されている 合にのみ返されます。

      Localeクラスは、アプリケーションのローカライズに役立つ幅広い情 へのアクセスを提供します。 これには、英国で使用されている英語の 合の「en-GB」など、言語とリージョンが含まれます。

      Localeクラスは、暦体系の識別に使用できる拡張メカニズ もサポートしています。 このメカニズ はキーと値のペアの形式で、ここでの暦体系のキーは「ca」です。 たとえば、ロケール「en-JP-u-ca-japanese」は日本で日本の暦体系で使用される英語を表します。

      このメソッドは、"ca"をLocale.getUnicodeLocaleType(String)に渡すのと同じ方法で、目的のカレンダ・システ を検索します。 「ca」キーが存在しない 合、IsoChronologyが返されます。

      このメソッドの動作は古いCalendar.getInstance(Locale)メソッドと異なることに注意してく さい。 そのメソッドが「th_TH」のロケールを受け取った 合、BuddhistCalendarを返します。 これに対し、このメソッドはIsoChronologyを返します。 いずれかのメソッドにロケール「th-TH-u-ca-buddhist」を渡すと、結果はタイ仏暦になるため、タイの暦体系のローカライズの 合に進める推奨されるアプローチです。

      和暦体系でも同様の、た しより単純な状況が発生します。 以前は暦にアクセスするために、ロケール「jp_JP_JP」が使用されていました。 た し、タイのロケールと異なり、「ja_JP_JP」はLocaleによって自動的に現代の推奨される形式の「ja-JP-u-ca-japanese」に変換されます。 そのため、このメソッドとCalendar#getInstance(Locale)の動作に違いはありません。

      パラメータ:
      locale - 暦体系を取得するために使用するロケール、null以外
      戻り値:
      ロケールに関連付けられている暦体系、null以外
      スロー:
      DateTimeException - ロケールで指定された暦が見つからなかった 合
    • of

      static Chronology of(String id)
      暦IDまたは暦体系タイプからChronologyのインスタンスを取得します。

      これは、IDまたはタイプに基づいて暦を取得します。 chronology IDは暦を一意に識別します。 calendar system typeはCLDR仕様で定義されます。

      暦は、システ の暦またはアプリケーションによって、ServiceLoader構成から提供された暦です。

      一部の暦はカスタマイズ可能であるため、IDまたはタイプは一般にデフォルトのカスタマイズを表します。 たとえば、グレゴリオ暦では、ユリウス暦から複数の切換え日を指定できますが、検索では、デフォルトの切換え日のみが提供されます。

      パラメータ:
      id - 暦IDまたは暦体系のタイプ、null以外
      戻り値:
      要求された識別子を持つ暦、null以外
      スロー:
      DateTimeException - 暦が見つからない 合
    • getAvailableChronologies

      static Set<Chronology> getAvailableChronologies()
      使用可能な暦を返します。

      返される各Chronologyは、システ で使用できます。 一連の暦には、システ の暦およびアプリケーションによって、ServiceLoader構成から提供された暦が含まれます。

      戻り値:
      独立した、変更可能な一連の使用可能な暦ID、null以外
    • getId

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

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

      戻り値:
      暦ID、null以外
      関連 目:
    • getCalendarType

      String getCalendarType()
      暦体系のカレンダ・タイプを取得します。

      カレンダ・タイプは、カレンダを一意に識別するためにCLDRおよび「Unicodeロケール・データ・マークアップ言語(LDML)」仕様で定義された識別子です。 getCalendarTypeは、CLDRカレンダ・タイプとバリアントの連結で、該当する 合、バリアントが「-」で区切られて追 されます。 カレンダ・タイプは、of(String)を使用して、Chronologyを検索するために使用されます。

      戻り値:
      暦体系のタイプ、暦がCLDR/LDMLによって定義されていない 合はnull
      関連 目:
    • date

      default ChronoLocalDate date(Era era, int yearOfEra, int month, int dayOfMonth)
      紀元、紀元年、月、および「月の日」フィールドから、この暦のローカル日付を取得します。
      実装要件:
      デフォルトの実装では、date(int, int, int)を呼び出す前に、紀元と紀元の年を先発暦の年に組み合わせます。
      パラメータ:
      era - 暦の正しいタイプの紀元、null以外
      yearOfEra - 暦の紀元の年
      month - 暦の年の月
      dayOfMonth - 暦の「月の日」
      戻り値:
      この暦でのローカル日付、null以外
      スロー:
      DateTimeException - 日付を作成できない 合
      ClassCastException - eraが暦に対して正しいタイプでない 合
    • date

      ChronoLocalDate date(int prolepticYear, int month, int dayOfMonth)
      先発暦の年、月、および「月の日」フィールドから、この暦のローカル日付を取得します。
      パラメータ:
      prolepticYear - 暦の先発暦の年
      month - 暦の年の月
      dayOfMonth - 暦の「月の日」
      戻り値:
      この暦でのローカル日付、null以外
      スロー:
      DateTimeException - 日付を作成できない 合
    • dateYearDay

      default ChronoLocalDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
      紀元、紀元年、「年の日」フィールドから、この暦のローカル日付を取得します。
      実装要件:
      デフォルトの実装では、dateYearDay(int, int)を呼び出す前に、紀元と紀元の年を先発暦の年に組み合わせます。
      パラメータ:
      era - 暦の正しいタイプの紀元、null以外
      yearOfEra - 暦の紀元の年
      dayOfYear - 暦の年の月
      戻り値:
      この暦でのローカル日付、null以外
      スロー:
      DateTimeException - 日付を作成できない 合
      ClassCastException - eraが暦に対して正しいタイプでない 合
    • dateYearDay

      ChronoLocalDate dateYearDay(int prolepticYear, int dayOfYear)
      先発暦の年および「年の日」フィールドから、この暦のローカル日付を取得します。
      パラメータ:
      prolepticYear - 暦の先発暦の年
      dayOfYear - 暦の年の月
      戻り値:
      この暦でのローカル日付、null以外
      スロー:
      DateTimeException - 日付を作成できない 合
    • dateEpochDay

      ChronoLocalDate dateEpochDay(long epochDay)
      エポック日から、この暦のローカル日付を取得します。

      EPOCH_DAYの定義は、すべての暦体系で同じであるため、変換で使用できます。

      パラメータ:
      epochDay - エポック日
      戻り値:
      この暦でのローカル日付、null以外
      スロー:
      DateTimeException - 日付を作成できない 合
    • dateNow

      default ChronoLocalDate dateNow()
      デフォルトのタイ ゾーンのシステ ・クロックからこの暦の現在のローカル日付を取得します。

      これは、デフォルトのタイ ゾーンのsystem clockを問い合わせ、現在の日付を取得します。

      このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。

      実装要件:
      デフォルトの実装はdateNow(Clock)を呼び出します。
      戻り値:
      システ クロックとデフォルトのタイ ゾーンを使用した現在のローカル日付、null以外
      スロー:
      DateTimeException - 日付を作成できない 合
    • dateNow

      default ChronoLocalDate dateNow(ZoneId zone)
      指定されたタイ ゾーンのシステ ・クロックからこの暦の現在のローカル日付を取得します。

      これはsystem clockを問い合わせて、現在の日付を取得します。 タイ ゾーンを指定すると、デフォルトのタイ ゾーンへの依存を避けられます。

      このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。

      実装要件:
      デフォルトの実装はdateNow(Clock)を呼び出します。
      パラメータ:
      zone - 使用するゾーンID、null以外
      戻り値:
      システ クロックを使用した現在のローカル日付、null以外
      スロー:
      DateTimeException - 日付を作成できない 合
    • dateNow

      default ChronoLocalDate dateNow(Clock clock)
      指定されたクロックからこの暦の現在のローカル日付を取得します。

      これは指定されたクロックを問い合わせ、現在の日付(今日)を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックはdependency injectionを使用して導入できます。

      実装要件:
      デフォルトの実装はdate(TemporalAccessor)を呼び出します。
      パラメータ:
      clock - 使用するクロック、null以外
      戻り値:
      現在のローカル日付、null以外
      スロー:
      DateTimeException - 日付を作成できない 合
    • date

      別の時間的オブジェクトから、この暦のローカル日付を取得します。

      これは、指定された時間的オブジェクトに基づいてこの暦での日付を取得します。 TemporalAccessorは任意の日付と時間情 のセットを表し、このファクトリがChronoLocalDateのインスタンスに変換します。

      変換では一般に、暦体系全体で標準化されたEPOCH_DAYフィールドを使用します。

      このメソッドは関数型インタフェースTemporalQueryのシグネチャに一致するため、メソッド参照aChronology::dateを介して、問合せとして使用できます。

      パラメータ:
      temporal - 変換する一時オブジェクト、null以外
      戻り値:
      この暦でのローカル日付、null以外
      スロー:
      DateTimeException - 日付を作成できない 合
      関連 目:
    • localDateTime

      default ChronoLocalDateTime<? extends ChronoLocalDate> localDateTime(TemporalAccessor temporal)
      別の時間的オブジェクトから、この暦のローカル日付/時間を取得します。

      これは、指定された時間的オブジェクトに基づいてこの暦での日付/時間を取得します。 TemporalAccessorは任意の日付と時間情 のセットを表し、このファクトリがChronoLocalDateTimeのインスタンスに変換します。

      変換では、時間的オブジェクトからChronoLocalDateLocalTimeを抽出し、組み合わせます。 実装では、関連オブジェクトと同等のそれらのフィールドにアクセスするなどの最適化を実行することが許可されます。 結果ではこの暦を使用します。

      このメソッドは関数型インタフェースTemporalQueryのシグネチャに一致するため、メソッド参照aChronology::localDateTimeを介して、問合せとして使用できます。

      パラメータ:
      temporal - 変換する一時オブジェクト、null以外
      戻り値:
      この暦でのローカル日付/時間、null以外
      スロー:
      DateTimeException - 日付/時間を作成できない 合
      関連 目:
    • zonedDateTime

      default ChronoZonedDateTime<? extends ChronoLocalDate> zonedDateTime(TemporalAccessor temporal)
      もう一方のtemporal (一時)オブジェクトからこの暦でChronoZonedDateTimeを取得します。

      これは、指定された時間的オブジェクトに基づいてこの暦でのゾーン付きの日付/時間を取得します。 TemporalAccessorは任意の日付と時間情 のセットを表し、このファクトリがChronoZonedDateTimeのインスタンスに変換します。

      変換では、まず時間的オブジェクトからZoneIdを取得し、必要に応じて、ZoneOffsetを使用します。 次に、Instantを取得しようとし、必要に応じて、ChronoLocalDateTimeを使用します。 結果はZoneIdまたはZoneOffsetInstantまたはChronoLocalDateTimeのいずれかの組み合わせです。 実装では、関連オブジェクトと同等のそれらのフィールドにアクセスするなどの最適化を実行することが許可されます。 結果ではこの暦を使用します。

      このメソッドは関数型インタフェースTemporalQueryのシグネチャに一致するため、メソッド参照aChronology::zonedDateTimeを介して、問合せとして使用できます。

      パラメータ:
      temporal - 変換する一時オブジェクト、null以外
      戻り値:
      この暦でのゾーン付きの日付/時間、null以外
      スロー:
      DateTimeException - 日付/時間を作成できない 合
      関連 目:
    • zonedDateTime

      default ChronoZonedDateTime<? extends ChronoLocalDate> zonedDateTime(Instant instant, ZoneId zone)
      Instantからこの暦でChronoZonedDateTimeを取得します。

      これは、指定された同じインスタントで、ゾーン付きの日付/時間を取得します。

      パラメータ:
      instant - 日付/時間の作成元のインスタント、null以外
      zone - タイ ゾーン、null以外
      戻り値:
      ゾーン付きの日付/時間、null以外
      スロー:
      DateTimeException - 結果がサポートされている範囲を超える 合
    • isLeapYear

      boolean isLeapYear(long prolepticYear)
      指定された年がうるう年であるかどうかをチェックします。

      うるう年は通常より長い年です。 正確な意味は、次の制約に従って、暦によって決定されます。

      • うるう年はうるう年でない年より長い年の長さを示している必要があります。
      • 年の概念をサポートしない暦はfalseを返す必要があります。
      • 正しい結果は、年代記のための有効な年の範囲内のすべての年で返されなければなりません。

      有効な年の範囲外では、実装は最適な推測または偽のいずれかを返すことができます。 実装では、年が有効な年の範囲外であっても例外をスローしないでく さい。

      パラメータ:
      prolepticYear - チェックする先発暦の年、範囲が検証されない
      戻り値:
      年がうるう年の 合はtrue
    • prolepticYear

      int prolepticYear(Era era, int yearOfEra)
      紀元と紀元年を指定して先発暦の年を計算します。

      これは紀元と紀元の年を単一の先発暦の年フィールドに組み合わせます。

      JapaneseChronologyなど、暦で紀元が 繁に使われている 合、紀元の年が紀元に照らして検証されます。 他の暦の 合、検証はオプションです。

      パラメータ:
      era - 暦の正しいタイプの紀元、null以外
      yearOfEra - 暦の紀元の年
      戻り値:
      先発暦の年
      スロー:
      DateTimeException - 年がその紀元に無効である 合など、先発暦の年に変換できない 合
      ClassCastException - eraが暦に対して正しいタイプでない 合
    • eraOf

      Era eraOf(int eraValue)
      数値から、暦の紀元オブジェクトを作成します。

      この紀元は概念上、時系列の最大の区分です。 ほとんどの暦体系には、時系列を2つの紀元に分割する1つのエポックがあります。 た し、一部には各指導者の統治期間に1つずつなど、複数の紀元があります。 正確な意味は、次の制約に従って、暦によって決定されます。

      1970-01-01で使用する紀元は値が1である必要があります。 以降の紀元は、値が に大きくなる必要があります。 以前の紀元は、値が に小さくなる必要があります。 各暦は列挙または類似のシングルトンを参照して、紀元の値を提供する必要があります。

      このメソッドは、指定された紀元の値に対して、正しいタイプのシングルトンの紀元を返します。

      パラメータ:
      eraValue - 紀元の値
      戻り値:
      暦体系の紀元、null以外
      スロー:
      DateTimeException - 紀元を作成できない 合
    • eras

      List<Era> eras()
      暦の紀元のリストを取得します。

      ほとんどの暦体系には、その中で年が意味を持つ紀元があります。 暦体系が紀元の概念をサポートしていない 合、空のリストを返す必要があります。

      戻り値:
      暦の紀元のリスト、不変の 合がある、null以外
    • range

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

      すべてのフィールドはlong整数で表現できます。 このメソッドは、その値の有効範囲を記述するオブジェクトを返します。

      結果は有効な最小値と最大値を記述している けなので、それらを深く解釈しすぎないことが重要です。 たとえば、範囲内の値であっても、フィールドに対して無効な 合があります。

      このメソッドは、暦でフィールドをサポートしているかどうかに関係なく、結果を返します。

      パラメータ:
      field - 範囲を取得するフィールド、null以外
      戻り値:
      フィールドの有効値の範囲。null以外
      スロー:
      DateTimeException - フィールドの範囲を取得できない 合
    • getDisplayName

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

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

      実装要件:
      デフォルトの実装は、暦のテキストの名前の書式設定に使用されたフォーマッタのように動作します。
      パラメータ:
      style - 必要なテキストのスタイル、null以外
      locale - 使用するロケール。null以外
      戻り値:
      暦のテキスト値、null以外
    • resolveDate

      ChronoLocalDate resolveDate(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle)
      解析されたChronoFieldの値を解析時の日付に解決します。

      ほとんどのTemporalField実装は、フィールド上の解決メソッドを使用して解決されます。 これに対し、ChronoFieldクラスは暦に関連する意味のみを持つフィールドを定義します。 そのため、ChronoField日付フィールドは、ここで特定の暦のコンテキストで解決されます。

      一般的な解決動作を説明するデフォルトの実装は、AbstractChronologyに提供されています。

      パラメータ:
      fieldValues - フィールドと値のマップ、更新可能、null以外
      resolverStyle - 要求された解決のタイプ、null以外
      戻り値:
      解決された日付、日付を作成するための情 が不十分な 合はnull
      スロー:
      DateTimeException - 一般に入力データの競合のため、日付を解決できない 合
    • period

      default ChronoPeriod period(int years, int months, int days)
      この暦の期間を年、月および日に基づいて取得します。

      これは、指定された年、月、日を使用して、この暦に関連付けられた期間を返します。 提供されたすべての暦で、年、月、日に基づいて期間が使用されますが、ChronoPeriod APIでは、他の単位を使用して期間を表現できます。

      実装要件:
      デフォルト実装はほとんどの暦体系に適した実装クラスを返します。 3つの単位にのみ基づきます。 正規化、 算、減算では、range(ChronoField)から1年の月数を取得します。 1年の月数が固定である 合、 算、減算、正規化の計算アプローチはやや異なります。

      年、月、および日に基づかない通常と異なる暦体系を実装するか、または直接制御したい 合、ChronoPeriodインタフェースを直接実装する必要があります。

      返される期間は不変で、スレッドセーフである必要があります。

      パラメータ:
      years - 年数、 の 合もある
      months - 年数、 の 合もある
      days - 年数、 の 合もある
      戻り値:
      この暦の形での期間、null以外
    • epochSecond

      default long epochSecond(int prolepticYear, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset)
      1970-01-01T00:00:00Zのエポックから秒数を取得します。

      秒数は、先行する年、月、月の日、時間、分、秒およびzoneOffsetを使用して計算されます。

      パラメータ:
      prolepticYear - 暦の先発暦の年
      month - 暦の年の月
      dayOfMonth - 暦の「月の日」
      hour - 1日の時間、0から23
      minute - 0から59までの分
      second - 0から59までの秒
      zoneOffset - ゾーン・オフセット、null以外
      戻り値:
      1970-01-01T00:00:00Zを基準とした秒数は の 合があります
      スロー:
      DateTimeException - いずれかの値が範囲外の 合
      導入されたバージョン:
      9
    • epochSecond

      default long epochSecond(Era era, int yearOfEra, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset)
      1970-01-01T00:00:00Zのエポックから秒数を取得します。

      秒数は、年号、年号、月、日、時間、分、秒およびzoneOffsetを使用して計算されます。

      パラメータ:
      era - 暦の正しいタイプの紀元、null以外
      yearOfEra - 暦の紀元の年
      month - 暦の年の月
      dayOfMonth - 暦の「月の日」
      hour - 1日の時間、0から23
      minute - 0から59までの分
      second - 0から59までの秒
      zoneOffset - ゾーン・オフセット、null以外
      戻り値:
      1970-01-01T00:00:00Zを基準とした秒数は の 合があります
      スロー:
      DateTimeException - いずれかの値が範囲外の 合
      導入されたバージョン:
      9
    • isIsoBased

      default boolean isIsoBased()
      この時系列がISOベースかどうかを確認します。

      ISOベースのクロノロジには、ISO chronology、i.eと同じ基本構 があり、クロノロジには同じ月数、各月の日数、および年およびうるう年はISOクロノロジと同じです。 ISOクロノロジの週ベースの年の概念もサポートしています。 たとえば、MinguoThaiThaiBuddhistおよびJapaneseクロノロジはISOベースです。

      実装要件:
      デフォルトの実装ではfalseを返します。
      戻り値:
      IsoFieldsのすべてのフィールドがこの時系列でサポートされている 合のみ、true それ以外の 合はfalseを戻します。
      導入されたバージョン:
      19
      関連 目:
    • compareTo

      int compareTo(Chronology other)
      この暦を別の暦と比較します。

      最初に暦ID文字列、次にサブクラスに固有の任意の追 の情 による比較の 序。 Comparableに定義されているとおりに、「equalsと一致」しています。

      定義:
      インタフェースComparable<Chronology>compareTo
      パラメータ:
      other - 他の比較する暦、null以外
      戻り値:
      比較値(このID文字列はotherのID文字列と比較されます。た し、ID文字列が等しく、年代学が追 情 を使用してインスタンスを区別する 合を除きます)
    • equals

      boolean equals(Object obj)
      この暦が別の暦と等しいかどうかをチェックします。

      比較はオブジェクトの全体の状態に基づきます。

      オーバーライド:
      equals、クラスObject
      パラメータ:
      obj - チェックするオブジェクト、nullはfalseを返す
      戻り値:
      これが他の暦と等しい 合はtrue
      関連 目:
    • hashCode

      int hashCode()
      この暦のハッシュ・コード。

      ハッシュ・コードはオブジェクトの全体の状態に基づかせてく さい。

      オーバーライド:
      hashCode、クラスObject
      戻り値:
      適切なハッシュ・コード
      関連 目:
    • toString

      String toString()
      この暦をStringとして出力します。

      形式には、オブジェクト全体の状態を含めてく さい。

      オーバーライド:
      toString、クラスObject
      戻り値:
      この暦の文字列表現、null以外