-
- すべてのスーパー・インタフェース:
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
インスタンスを作成するための一連のメソッドを提供します。 日付クラスは、特定の日付を操作するために使用します。-
dateNow()
-
dateNow(clock)
-
dateNow(zone)
-
date(yearProleptic, month, day)
-
date(era, yearOfEra, month, day)
-
dateYearDay(yearProleptic, dayOfYear)
-
dateYearDay(era, yearOfEra, dayOfYear)
-
date(TemporalAccessor)
新しい暦の追加
一連の使用可能な暦はアプリケーションによって拡張できます。 新しい暦体系を追加するには、Chronology
、ChronoLocalDate
、およびEra
の実装を書く必要があります。 暦体系に固有のロジックの大半は、ChronoLocalDate
実装にあります。Chronology
実装はファクトリとして機能します。追加の暦の検出を許可するには、
ServiceLoader
を使用します。 実装クラスを一覧表示したファイルをjava.time.chrono.Chronologyという名前で、META-INF/services
ディレクトリに追加する必要があります。 サービスのロードの詳細については、ServiceLoaderを参照してください。 idまたはcalendarTypeによる検索では、最初に暦を提供したシステムが見つかり、次に暦を提供したアプリケーションが続きます。各暦では、システム内で一意の暦IDを定義する必要があります。 年表がCLDR仕様で定義されたカレンダ・システムを表す場合、カレンダ型はCLDR型と、該当する場合はCLDRバリアントの連結です。
- 実装要件:
- このインタフェースは、他のクラスが正常に動作するように、注意して実装する必要があります。 インスタンス化可能なすべての実装は、最終、不変、およびスレッドセーフである必要があります。 サブクラスは、可能であれば直列化可能にしてください。
- 導入されたバージョン:
- 1.8
-
-
メソッドのサマリー
修飾子と型 メソッド 説明 int
compareTo(Chronology other)
この暦を別の暦と比較します。ChronoLocalDate
date(int prolepticYear, int month, int dayOfMonth)
先発暦の年、月、および「月の日」フィールドから、この暦のローカル日付を取得します。default ChronoLocalDate
date(Era era, int yearOfEra, int month, int dayOfMonth)
紀元、紀元年、月、および「月の日」フィールドから、この暦のローカル日付を取得します。ChronoLocalDate
date(TemporalAccessor temporal)
別の時間的オブジェクトから、この暦のローカル日付を取得します。ChronoLocalDate
dateEpochDay(long epochDay)
エポック日から、この暦のローカル日付を取得します。default ChronoLocalDate
dateNow()
デフォルトのタイムゾーンのシステム・クロックからこの暦の現在のローカル日付を取得します。default ChronoLocalDate
dateNow(Clock clock)
指定されたクロックからこの暦の現在のローカル日付を取得します。default ChronoLocalDate
dateNow(ZoneId zone)
指定されたタイムゾーンのシステム・クロックからこの暦の現在のローカル日付を取得します。ChronoLocalDate
dateYearDay(int prolepticYear, int dayOfYear)
先発暦の年および「年の日」フィールドから、この暦のローカル日付を取得します。default ChronoLocalDate
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
equals(Object obj)
この暦が別の暦と等しいかどうかをチェックします。Era
eraOf(int eraValue)
数値から、暦の紀元オブジェクトを作成します。List<Era>
eras()
暦の紀元のリストを取得します。static Chronology
from(TemporalAccessor temporal)
時間的オブジェクトからChronology
のインスタンスを取得します。static Set<Chronology>
getAvailableChronologies()
使用可能な暦を返します。String
getCalendarType()
暦体系のカレンダ・タイプを取得します。default String
getDisplayName(TextStyle style, Locale locale)
この暦のテキスト表現を取得します。String
getId()
暦のIDを取得します。int
hashCode()
この暦のハッシュ・コード。boolean
isLeapYear(long prolepticYear)
指定された年がうるう年であるかどうかをチェックします。default ChronoLocalDateTime<? extends ChronoLocalDate>
localDateTime(TemporalAccessor temporal)
別の時間的オブジェクトから、この暦のローカル日付/時間を取得します。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)
紀元と紀元年を指定して先発暦の年を計算します。ValueRange
range(ChronoField field)
指定されたフィールドの有効な値の範囲を取得します。ChronoLocalDate
resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
解析されたChronoField
の値を解析時の日付に解決します。String
toString()
この暦をString
として出力します。default ChronoZonedDateTime<? extends ChronoLocalDate>
zonedDateTime(Instant instant, ZoneId zone)
Instant
からこの暦でChronoZonedDateTime
を取得します。default ChronoZonedDateTime<? extends ChronoLocalDate>
zonedDateTime(TemporalAccessor temporal)
もう一方の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()
-
getCalendarType
String getCalendarType()
暦体系のカレンダ・タイプを取得します。カレンダ・タイプは、カレンダを一意に識別するためのCLDRおよび「Unicodeロケール・データ・マークアップ言語(LDML)」仕様で定義された識別子です。
getCalendarType
は、CLDRカレンダ・タイプとバリアントの連結で、該当する場合、バリアントが-で区切られて追加されます。 カレンダ・タイプは、of(String)
を使用して、Chronology
を検索するために使用されます。- 戻り値:
- 暦体系のタイプ、暦がCLDR/LDMLによって定義されていない場合はnull
- 関連項目:
getId()
-
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
ChronoLocalDate date(TemporalAccessor temporal)
別の時間的オブジェクトから、この暦のローカル日付を取得します。これは、指定された時間的オブジェクトに基づいてこの暦での日付を取得します。
TemporalAccessor
は任意の日付と時間情報のセットを表し、このファクトリがChronoLocalDate
のインスタンスに変換します。変換では一般に、暦体系全体で標準化された
EPOCH_DAY
フィールドを使用します。このメソッドは関数型インタフェース
TemporalQuery
のシグネチャに一致するため、メソッド参照aChronology::date
を介して、問合せとして使用できます。- パラメータ:
temporal
- 変換する一時オブジェクト、null以外- 戻り値:
- この暦でのローカル日付、null以外
- 例外:
DateTimeException
- 日付を作成できない場合- 関連項目:
ChronoLocalDate.from(TemporalAccessor)
-
localDateTime
default ChronoLocalDateTime<? extends ChronoLocalDate> localDateTime(TemporalAccessor temporal)
別の時間的オブジェクトから、この暦のローカル日付/時間を取得します。これは、指定された時間的オブジェクトに基づいてこの暦での日付/時間を取得します。
TemporalAccessor
は任意の日付と時間情報のセットを表し、このファクトリがChronoLocalDateTime
のインスタンスに変換します。変換では、時間的オブジェクトから
ChronoLocalDate
とLocalTime
を抽出し、組み合わせます。 実装では、関連オブジェクトと同等のそれらのフィールドにアクセスするなどの最適化を実行することが許可されます。 結果ではこの暦を使用します。このメソッドは関数型インタフェース
TemporalQuery
のシグネチャに一致するため、メソッド参照aChronology::localDateTime
を介して、問合せとして使用できます。- パラメータ:
temporal
- 変換する一時オブジェクト、null以外- 戻り値:
- この暦でのローカル日付/時間、null以外
- 例外:
DateTimeException
- 日付/時間を作成できない場合- 関連項目:
ChronoLocalDateTime.from(TemporalAccessor)
-
zonedDateTime
default ChronoZonedDateTime<? extends ChronoLocalDate> zonedDateTime(TemporalAccessor temporal)
もう一方のtemporal (一時)オブジェクトからこの暦でChronoZonedDateTime
を取得します。これは、指定された時間的オブジェクトに基づいてこの暦でのゾーン付きの日付/時間を取得します。
TemporalAccessor
は任意の日付と時間情報のセットを表し、このファクトリがChronoZonedDateTime
のインスタンスに変換します。変換では、まず時間的オブジェクトから
ZoneId
を取得し、必要に応じて、ZoneOffset
を使用します。 次に、Instant
を取得しようとし、必要に応じて、ChronoLocalDateTime
を使用します。 結果はZoneId
またはZoneOffset
とInstant
またはChronoLocalDateTime
のいずれかの組み合わせです。 実装では、関連オブジェクトと同等のそれらのフィールドにアクセスするなどの最適化を実行することが許可されます。 結果ではこの暦を使用します。このメソッドは関数型インタフェース
TemporalQuery
のシグネチャに一致するため、メソッド参照aChronology::zonedDateTime
を介して、問合せとして使用できます。- パラメータ:
temporal
- 変換する一時オブジェクト、null以外- 戻り値:
- この暦でのゾーン付きの日付/時間、null以外
- 例外:
DateTimeException
- 日付/時間を作成できない場合- 関連項目:
ChronoZonedDateTime.from(TemporalAccessor)
-
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
- 時間帯0から23minute
- 分、0から59までsecond
- 秒、0から59までzoneOffset
- ゾーン・オフセット、not 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
- 時間帯0から23minute
- 分、0から59までsecond
- 秒、0から59までzoneOffset
- ゾーン・オフセット、not null- 戻り値:
- 1970-01-01T00:00:00Zを基準にした秒数。
- 例外:
DateTimeException
- いずれかの値が範囲外の場合- 導入されたバージョン:
- 9
-
compareTo
int compareTo(Chronology other)
この暦を別の暦と比較します。最初に暦ID文字列、次にサブクラスに固有の任意の追加の情報による比較の順序。
Comparable
に定義されているとおりに、equalsと一致しています。- 定義:
- インタフェース
Comparable<Chronology>
のcompareTo
- パラメータ:
other
- 他の比較する暦、null以外- 戻り値:
- コンパレータ値、小さい場合は負、大きい場合は正
-
equals
boolean equals(Object obj)
この暦が別の暦と等しいかどうかをチェックします。比較はオブジェクトの全体の状態に基づきます。
- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- チェックするオブジェクト、nullはfalseを返す- 戻り値:
- これが他の暦と等しい場合はtrue
- 関連項目:
Object.hashCode()
、HashMap
-
hashCode
int hashCode()
この暦のハッシュ・コード。ハッシュ・コードはオブジェクトの全体の状態に基づかせてください。
- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- 適切なハッシュ・コード
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-