クラスAbstractChronology
java.lang.Object
java.time.chrono.AbstractChronology
- すべての実装されたインタフェース:
Comparable<Chronology>, Chronology
- 直系の既知のサブクラス:
HijrahChronology, IsoChronology, JapaneseChronology, MinguoChronology, ThaiBuddhistChronology
public abstract class AbstractChronology extends Object implements Chronology
日付の編成と識別に使用される暦体系の抽象実装。
メインの日付と時間APIはISO暦体系に基づいて構築されています。 暦(chronology)は背後で動作し、暦体系の一般概念を表します。
詳細についてはChronologyを参照してください。
- 実装要件:
- このクラスは
Chronologyインタフェースから分離されているため、staticメソッドは継承されません。Chronologyは直接実装できますが、代わりにこの抽象クラスを拡張することを強くお薦めします。このクラスは、他のクラスが正常に動作するように、注意して実装する必要があります。 インスタンス化可能なすべての実装は、最終、不変、およびスレッドセーフである必要があります。 サブクラスは、可能であれば直列化可能にしてください。
- 導入されたバージョン:
- 1.8
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明intcompareTo(Chronology other) この暦を別の暦と比較します。booleanこの暦が別の暦と等しいかどうかをチェックします。inthashCode()この暦のハッシュ・コード。resolveDate(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle) 解析されたChronoFieldの値を解析時の日付に解決します。toString()暦IDを使用して、この暦をStringとして出力します。クラスオブジェクトで宣言されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。インタフェース時系列で宣言されたメソッド
date, date, date, dateEpochDay, dateNow, dateNow, dateNow, dateYearDay, dateYearDay, epochSecond, epochSecond, eraOf, eras, getCalendarType, getDisplayName, getId, isIsoBased, isLeapYear, localDateTime, period, prolepticYear, range, zonedDateTime, zonedDateTime修飾子と型メソッド説明date(int prolepticYear, int month, int dayOfMonth) 先発暦の年、月、および「月の日」フィールドから、この暦のローカル日付を取得します。default ChronoLocalDate紀元、紀元年、月、および「月の日」フィールドから、この暦のローカル日付を取得します。date(TemporalAccessor temporal) 別の時間的オブジェクトから、この暦のローカル日付を取得します。dateEpochDay(long epochDay) エポック日から、この暦のローカル日付を取得します。default ChronoLocalDatedateNow()デフォルトのタイムゾーンのシステム・クロックからこの暦の現在のローカル日付を取得します。default ChronoLocalDate指定されたクロックからこの暦の現在のローカル日付を取得します。default ChronoLocalDate指定されたタイムゾーンのシステム・クロックからこの暦の現在のローカル日付を取得します。dateYearDay(int prolepticYear, int dayOfYear) 先発暦の年および「年の日」フィールドから、この暦のローカル日付を取得します。default ChronoLocalDatedateYearDay(Era era, int yearOfEra, int dayOfYear) 紀元、紀元年、「年の日」フィールドから、この暦のローカル日付を取得します。default longepochSecond(int prolepticYear, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset) 1970-01-01T00:00:00Zのエポックから秒数を取得します。default longepochSecond(Era era, int yearOfEra, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset) 1970-01-01T00:00:00Zのエポックから秒数を取得します。eraOf(int eraValue) 数値から、暦の紀元オブジェクトを作成します。eras()暦の紀元のリストを取得します。暦体系のカレンダ・タイプを取得します。default StringgetDisplayName(TextStyle style, Locale locale) この暦のテキスト表現を取得します。getId()暦のIDを取得します。default booleanこの時系列がISOベースかどうかを確認します。booleanisLeapYear(long prolepticYear) 指定された年がうるう年であるかどうかをチェックします。default ChronoLocalDateTime<? extends ChronoLocalDate> localDateTime(TemporalAccessor temporal) 別の時間的オブジェクトから、この暦のローカル日付/時間を取得します。default ChronoPeriodperiod(int years, int months, int days) この暦の期間を年、月および日に基づいて取得します。intprolepticYear(Era era, int yearOfEra) 紀元と紀元年を指定して先発暦の年を計算します。range(ChronoField field) 指定されたフィールドの有効な値の範囲を取得します。default ChronoZonedDateTime<? extends ChronoLocalDate> zonedDateTime(Instant instant, ZoneId zone) Instantからこの暦でChronoZonedDateTimeを取得します。default ChronoZonedDateTime<? extends ChronoLocalDate> zonedDateTime(TemporalAccessor temporal) もう一方のtemporal (一時)オブジェクトからこの暦でChronoZonedDateTimeを取得します。
-
コンストラクタの詳細
-
AbstractChronology
protected AbstractChronology()インスタンスを作成します。
-
-
メソッドの詳細
-
resolveDate
public ChronoLocalDate resolveDate(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle) 解析されたChronoFieldの値を解析時の日付に解決します。ほとんどの
TemporalField実装は、フィールド上の解決メソッドを使用して解決されます。 これに対し、ChronoFieldクラスは暦に関連する意味のみを持つフィールドを定義します。 そのため、ChronoField日付フィールドは、ここで特定の暦のコンテキストで解決されます。ChronoFieldインスタンスはこのメソッドによって解決され、サブクラスでオーバーライドできます。EPOCH_DAY- 存在する場合、日付に変換され、他のすべての日付フィールドがこの日付に対して照合されます。PROLEPTIC_MONTH- 存在する場合、YEARとMONTH_OF_YEARに分割されます。 モードがstrictまたはsmartである場合、フィールドは検証されます。YEAR_OF_ERAとERA- 両方とも存在する場合、それらが組み合わされてYEARを形成します。 lenientモードではYEAR_OF_ERAの範囲は検証されず、smartおよびstrictモードでは検証されます。ERAは3つすべてのモードで範囲が検証されます。YEAR_OF_ERAのみが存在し、モードがsmartまたはlenientの場合、最後の使用可能な紀元と想定されます。 strictモードでは、紀元が想定されず、YEAR_OF_ERAはそのままの状態にされます。ERAのみが存在する場合、それはそのままの状態にされます。YEAR、MONTH_OF_YEAR、DAY_OF_MONTH- 3つすべてが存在する場合、それらが組み合わされて日付が形成されます。 3つすべてのモードで、YEARが検証されます。 モードがsmartまたはstrictの場合、月と日が検証されます。 モードがlenientの場合、要求された年の最初の月の最初の日で日付を作成し、次に月数での差、次に日数での差を加算する場合と等しい方法で、日付が組み合わされます。 モードがsmartで、「月の日」が年-月の最大より大きい場合、「月の日」は最後の「月の日」に調整されます。 モードがstrictの場合、3つのフィールドは有効な日付を形成している必要があります。YEARとDAY_OF_YEAR- 両方とも存在する場合、それらが組み合わされて日付が形成されます。 3つすべてのモードで、YEARが検証されます。 モードがlenientの場合、要求された年の最初の日で日付を作成し、次に日数での差を加算する場合と等しい方法で、日付が組み合わされます。 モードがsmartまたはstrictの場合、2つのフィールドは有効な日付を形成している必要があります。YEAR、MONTH_OF_YEAR、ALIGNED_WEEK_OF_MONTH、ALIGNED_DAY_OF_WEEK_IN_MONTH- 4つすべてが存在する場合、それらが組み合わされて日付が形成されます。 3つすべてのモードで、YEARが検証されます。 モードがlenientの場合、要求された年の最初の月の最初の日で日付を作成し、次に月数での差、次に週数での差、次に日数での差を加算する場合と等しい方法で、日付が組み合わされます。 モードがsmartまたはstrictの場合、4つすべてのフィールドがそれらの外側の範囲に対して検証されます。 次に、要求された年と月の最初の日で日付を作成し、次に週数と日数での量を加算して、それらの値に到達する場合と等しい方法で、日付が組み合わされます。 モードがstrictの場合、日付がさらに検証され、日と週の調整によって月が変更されていないかどうかがチェックされます。YEAR、MONTH_OF_YEAR、ALIGNED_WEEK_OF_MONTH、DAY_OF_WEEK- 4つすべてが存在する場合、それらが組み合わされて日付が形成されます。 このアプローチは、ALIGNED_DAY_OF_WEEK_IN_MONTHの年、月、および週についての上記の説明と同じです。 年、月、および週が処理されると、曜日が次または同じ一致する曜日で調整されます。YEAR、ALIGNED_WEEK_OF_YEAR、ALIGNED_DAY_OF_WEEK_IN_YEAR- 3つすべてが存在する場合、それらが組み合わされて日付が形成されます。 3つすべてのモードで、YEARが検証されます。 モードがlenientの場合、要求された年の最初の日で日付を作成し、次に週数での差、次に日数での差を加算する場合と等しい方法で、日付が組み合わされます。 モードがsmartまたはstrictの場合、3つすべてのフィールドがそれらの外側の範囲に対して検証されます。 次に、要求された年の最初の日で日付を作成し、次に週数と日数での量を加算して、それらの値に到達する場合と等しい方法で、日付が組み合わされます。 モードがstrictの場合、日付がさらに検証され、日と週の調整によって年が変更されていないかどうかがチェックされます。YEAR、ALIGNED_WEEK_OF_YEAR、DAY_OF_WEEK- 3つすべてが存在する場合、それらが組み合わされて日付が形成されます。 このアプローチは、ALIGNED_DAY_OF_WEEK_IN_YEARの年および週についての上記の説明と同じです。 年および週が処理されると、曜日が次または同じ一致する曜日で調整されます。
デフォルト実装はほとんどの暦体系に適切です。
ChronoField.ERAなしでChronoField.YEAR_OF_ERAが見つかった場合、Chronology.eras()の最後の紀元が使用されます。 実装では、7日の週、最初の「月の日」の値が1、最初の「年の日」の値が1、最初の月と年が必ず存在するものと想定します。- 定義:
- インタフェース
ChronologyのresolveDate - パラメータ:
fieldValues- フィールドと値のマップ、更新可能、null以外resolverStyle- 要求された解決のタイプ、null以外- 戻り値:
- 解決された日付、日付を作成するための情報が不十分な場合はnull
- スロー:
DateTimeException- 一般に入力データの競合のため、日付を解決できない場合
-
compareTo
public int compareTo(Chronology other) この暦を別の暦と比較します。最初に暦ID文字列、次にサブクラスに固有の任意の追加の情報による比較の順序。
Comparableに定義されているとおりに、「equalsと一致」しています。- 定義:
- インタフェース
ChronologyのcompareTo - 定義:
- インタフェース
Comparable<Chronology>のcompareTo - 実装要件:
- この実装は暦IDを比較します。 サブクラスはそれらが格納している追加の状態を比較する必要があります。
- パラメータ:
other- 他の比較する暦、null以外- 戻り値:
- コンパレータ値。これは、
otherのID文字列と比較したこのID文字列です
-
equals
public boolean equals(Object obj) この暦が別の暦と等しいかどうかをチェックします。比較はオブジェクトの全体の状態に基づきます。
- 定義:
- インタフェース
Chronologyのequals - オーバーライド:
equals、クラスObject- 実装要件:
- この実装は型をチェックし、
compareTo(java.time.chrono.Chronology)を呼び出します。 - パラメータ:
obj- チェックするオブジェクト、nullはfalseを返す- 戻り値:
- これが他の暦と等しい場合はtrue
- 関連項目:
-
hashCode
public int hashCode()この暦のハッシュ・コード。ハッシュ・コードはオブジェクトの全体の状態に基づかせてください。
- 定義:
- インタフェース
ChronologyのhashCode - オーバーライド:
hashCode、クラスObject- 実装要件:
- この実装は暦IDとクラスに基づきます。 サブクラスはそれらが格納している追加の状態を追加してください。
- 戻り値:
- 適切なハッシュ・コード
- 関連項目:
-
toString
public String toString()暦IDを使用して、この暦をStringとして出力します。- 定義:
- インタフェース
ChronologyのtoString - オーバーライド:
toString、クラスObject- 戻り値:
- この暦の文字列表現、null以外
-