- すべての実装されたインタフェース:
- Serializable,- Comparable<Chronology>,- Chronology
public final class JapaneseChronology extends AbstractChronology implements Serializable
この暦は和暦体系のルールを定義します。 この暦体系は主に日本で使用されています。 和暦体系は、紀元ベースの年の番号付けを除いて、ISO暦体系と同じです。
日本では明治6年からグレゴリオ暦を導入しています。 明治以降の紀元のみサポートされ、明治6年1月1日より前の日付はサポートされません。
 サポートされるChronoFieldインスタンス:
 
- DAY_OF_WEEK
- DAY_OF_MONTH
- DAY_OF_YEAR
- EPOCH_DAY
- MONTH_OF_YEAR
- PROLEPTIC_MONTH
- YEAR_OF_ERA
- YEAR
- ERA
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
- 直列化された形式
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static JapaneseChronologyINSTANCE和暦の暦のシングルトン・インスタンス。
- 
メソッドのサマリー修飾子と型 メソッド 説明 JapaneseDatedate(int prolepticYear, int month, int dayOfMonth)先発暦の年、月、および「月の日」フィールドから、和暦体系のローカル日付を取得します。JapaneseDatedate(Era era, int yearOfEra, int month, int dayOfMonth)紀元、紀元年、月、および「月の日」フィールドから、和暦体系のローカル日付を取得します。JapaneseDatedate(TemporalAccessor temporal)別の時間的オブジェクトから、この暦のローカル日付を取得します。JapaneseDatedateEpochDay(long epochDay)エポック日から、和暦体系のローカル日付を取得します。JapaneseDatedateNow()デフォルトのタイムゾーンのシステム・クロックからこの暦の現在のローカル日付を取得します。JapaneseDatedateNow(Clock clock)指定されたクロックからこの暦の現在のローカル日付を取得します。JapaneseDatedateNow(ZoneId zone)指定されたタイムゾーンのシステム・クロックからこの暦の現在のローカル日付を取得します。JapaneseDatedateYearDay(int prolepticYear, int dayOfYear)先発暦の年および「年の日」フィールドから、和暦体系のローカル日付を取得します。JapaneseDatedateYearDay(Era era, int yearOfEra, int dayOfYear)紀元、紀元年、および「年の日」フィールドから、和暦体系のローカル日付を取得します。JapaneseEraeraOf(int eraValue)指定された数値から、暦体系の紀元オブジェクトを返します。StringgetCalendarType()基礎となる暦体系のカレンダ・タイプ(japanese)を取得します。StringgetId()暦のID (Japanese)を取得します。booleanisLeapYear(long prolepticYear)指定された年がうるう年であるかどうかをチェックします。ChronoLocalDateTime<JapaneseDate>localDateTime(TemporalAccessor temporal)別の時間的オブジェクトから、この暦のローカル日付/時間を取得します。JapaneseDateresolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)解析されたChronoFieldの値を解析時の日付に解決します。ChronoZonedDateTime<JapaneseDate>zonedDateTime(Instant instant, ZoneId zone)Instantからこの暦でChronoZonedDateTimeを取得します。ChronoZonedDateTime<JapaneseDate>zonedDateTime(TemporalAccessor temporal)もう一方のtemporal (一時)オブジェクトからこの暦でChronoZonedDateTimeを取得します。インタフェース java.time.chrono.Chronologyで宣言されたメソッドepochSecond, epochSecond, eras, getDisplayName, period, prolepticYear, range
- 
フィールド詳細- 
INSTANCEpublic static final JapaneseChronology INSTANCE和暦の暦のシングルトン・インスタンス。
 
- 
- 
メソッドの詳細- 
getIdpublic String getId()暦のID (Japanese)を取得します。このIDは Chronologyを一意に識別します。 これは、Chronology.of(String)を使用して、Chronologyを検索するために使用できます。- 定義:
- インタフェースChronologyのgetId
- 戻り値:
- 暦ID - Japanese
- 関連項目:
- getCalendarType()
 
- 
getCalendarTypepublic String getCalendarType()基礎となる暦体系のカレンダ・タイプ(japanese)を取得します。カレンダ・タイプはUnicode Locale Data Markup Language (LDML)の仕様によって定義された識別子です。 これは、 Chronology.of(String)を使用して、Chronologyを検索するために使用できます。 それは、キー「ca」でLocale.getUnicodeLocaleType(String)からアクセス可能なロケールの一部としても使用できます。- 定義:
- インタフェースChronologyのgetCalendarType
- 戻り値:
- 暦体系タイプ - japanese
- 関連項目:
- getId()
 
- 
datepublic JapaneseDate date(Era era, int yearOfEra, int month, int dayOfMonth)紀元、紀元年、月、および「月の日」フィールドから、和暦体系のローカル日付を取得します。和暦の月と「月の日」はISO暦体系のそれらと同じです。 それらは、紀元が変わってもリセットされません。 たとえば、 6th Jan Showa 64 = ISO 1989-01-06 7th Jan Showa 64 = ISO 1989-01-07 8th Jan Heisei 1 = ISO 1989-01-08 9th Jan Heisei 1 = ISO 1989-01-09 - 定義:
- インタフェースChronologyのdate
- パラメータ:
- era- 和暦の紀元、null以外
- yearOfEra- 紀元の年
- month- 年の月
- dayOfMonth- 「月の日」
- 戻り値:
- 和暦のローカル日付、null以外
- 例外:
- DateTimeException- 日付を作成できない場合
- ClassCastException-- eraが- JapaneseEraでない場合
 
- 
datepublic JapaneseDate date(int prolepticYear, int month, int dayOfMonth)先発暦の年、月、および「月の日」フィールドから、和暦体系のローカル日付を取得します。和暦の先発暦の年、月、「月の日」はISO暦体系のそれらと同じです。 それらは、紀元が変わってもリセットされません。 - 定義:
- インタフェースChronologyのdate
- パラメータ:
- prolepticYear- 先発暦の年
- month- 年の月
- dayOfMonth- 「月の日」
- 戻り値:
- 和暦のローカル日付、null以外
- 例外:
- DateTimeException- 日付を作成できない場合
 
- 
dateYearDaypublic JapaneseDate dateYearDay(Era era, int yearOfEra, int dayOfYear)紀元、紀元年、および「年の日」フィールドから、和暦体系のローカル日付を取得します。このファクトリの「年の日」は紀元年の開始を基準にして表されます。 この定義では、紀元の変更によって、紀元年が1にリセットされる年でのみ、「年の日」の通常の意味が変わります。 たとえば、 6th Jan Showa 64 = day-of-year 6 7th Jan Showa 64 = day-of-year 7 8th Jan Heisei 1 = day-of-year 1 9th Jan Heisei 1 = day-of-year 2 - 定義:
- インタフェースChronologyのdateYearDay
- パラメータ:
- era- 和暦の紀元、null以外
- yearOfEra- 紀元の年
- dayOfYear- 「年の日」
- 戻り値:
- 和暦のローカル日付、null以外
- 例外:
- DateTimeException- 日付を作成できない場合
- ClassCastException-- eraが- JapaneseEraでない場合
 
- 
dateYearDaypublic JapaneseDate dateYearDay(int prolepticYear, int dayOfYear)先発暦の年および「年の日」フィールドから、和暦体系のローカル日付を取得します。このファクトリの「年の日」は先発暦の年の開始を基準にして表されます。 和暦の先発暦の年と「年の日」はISO暦体系のそれらと同じです。 それらは、紀元が変わってもリセットされません。 - 定義:
- インタフェースChronologyのdateYearDay
- パラメータ:
- prolepticYear- 先発暦の年
- dayOfYear- 「年の日」
- 戻り値:
- 和暦のローカル日付、null以外
- 例外:
- DateTimeException- 日付を作成できない場合
 
- 
dateEpochDaypublic JapaneseDate dateEpochDay(long epochDay)エポック日から、和暦体系のローカル日付を取得します。- 定義:
- インタフェースChronologyのdateEpochDay
- パラメータ:
- epochDay- エポック日
- 戻り値:
- 和暦のローカル日付、null以外
- 例外:
- DateTimeException- 日付を作成できない場合
 
- 
dateNowpublic JapaneseDate dateNow()次のインタフェースからコピーされた説明:Chronologyデフォルトのタイムゾーンのシステム・クロックからこの暦の現在のローカル日付を取得します。これは、デフォルトのタイムゾーンの system clockを問い合わせ、現在の日付を取得します。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。 - 定義:
- インタフェースChronologyのdateNow
- 戻り値:
- システムクロックとデフォルトのタイムゾーンを使用した現在のローカル日付、null以外
 
- 
dateNowpublic JapaneseDate dateNow(ZoneId zone)次のインタフェースからコピーされた説明:Chronology指定されたタイムゾーンのシステム・クロックからこの暦の現在のローカル日付を取得します。これは system clockを問い合わせて、現在の日付を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。 - 定義:
- インタフェースChronologyのdateNow
- パラメータ:
- zone- 使用するゾーンID、null以外
- 戻り値:
- システムクロックを使用した現在のローカル日付、null以外
 
- 
dateNowpublic JapaneseDate dateNow(Clock clock)次のインタフェースからコピーされた説明:Chronology指定されたクロックからこの暦の現在のローカル日付を取得します。これは指定されたクロックを問い合わせ、現在の日付(今日)を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックは dependency injectionを使用して導入できます。- 定義:
- インタフェースChronologyのdateNow
- パラメータ:
- clock- 使用するクロック、null以外
- 戻り値:
- 現在のローカル日付、null以外
 
- 
datepublic JapaneseDate date(TemporalAccessor temporal)次のインタフェースからコピーされた説明:Chronology別の時間的オブジェクトから、この暦のローカル日付を取得します。これは、指定された時間的オブジェクトに基づいてこの暦での日付を取得します。 TemporalAccessorは任意の日付と時間情報のセットを表し、このファクトリがChronoLocalDateのインスタンスに変換します。変換では一般に、暦体系全体で標準化された EPOCH_DAYフィールドを使用します。このメソッドは関数型インタフェース TemporalQueryのシグネチャに一致するため、メソッド参照aChronology::dateを介して、問合せとして使用できます。- 定義:
- インタフェースChronologyのdate
- パラメータ:
- temporal- 変換する一時オブジェクト、null以外
- 戻り値:
- この暦でのローカル日付、null以外
- 関連項目:
- ChronoLocalDate.from(TemporalAccessor)
 
- 
localDateTimepublic ChronoLocalDateTime<JapaneseDate> localDateTime(TemporalAccessor temporal)次のインタフェースからコピーされた説明:Chronology別の時間的オブジェクトから、この暦のローカル日付/時間を取得します。これは、指定された時間的オブジェクトに基づいてこの暦での日付/時間を取得します。 TemporalAccessorは任意の日付と時間情報のセットを表し、このファクトリがChronoLocalDateTimeのインスタンスに変換します。変換では、時間的オブジェクトから ChronoLocalDateとLocalTimeを抽出し、組み合わせます。 実装では、関連オブジェクトと同等のそれらのフィールドにアクセスするなどの最適化を実行することが許可されます。 結果ではこの暦を使用します。このメソッドは関数型インタフェース TemporalQueryのシグネチャに一致するため、メソッド参照aChronology::localDateTimeを介して、問合せとして使用できます。- 定義:
- インタフェースChronologyのlocalDateTime
- パラメータ:
- temporal- 変換する一時オブジェクト、null以外
- 戻り値:
- この暦でのローカル日付/時間、null以外
- 関連項目:
- ChronoLocalDateTime.from(TemporalAccessor)
 
- 
zonedDateTimepublic ChronoZonedDateTime<JapaneseDate> zonedDateTime(TemporalAccessor temporal)次のインタフェースからコピーされた説明:Chronologyもう一方のtemporal (一時)オブジェクトからこの暦でChronoZonedDateTimeを取得します。これは、指定された時間的オブジェクトに基づいてこの暦でのゾーン付きの日付/時間を取得します。 TemporalAccessorは任意の日付と時間情報のセットを表し、このファクトリがChronoZonedDateTimeのインスタンスに変換します。変換では、まず時間的オブジェクトから ZoneIdを取得し、必要に応じて、ZoneOffsetを使用します。 次に、Instantを取得しようとし、必要に応じて、ChronoLocalDateTimeを使用します。 結果はZoneIdまたはZoneOffsetとInstantまたはChronoLocalDateTimeのいずれかの組み合わせです。 実装では、関連オブジェクトと同等のそれらのフィールドにアクセスするなどの最適化を実行することが許可されます。 結果ではこの暦を使用します。このメソッドは関数型インタフェース TemporalQueryのシグネチャに一致するため、メソッド参照aChronology::zonedDateTimeを介して、問合せとして使用できます。- 定義:
- インタフェースChronologyのzonedDateTime
- パラメータ:
- temporal- 変換する一時オブジェクト、null以外
- 戻り値:
- この暦でのゾーン付きの日付/時間、null以外
- 関連項目:
- ChronoZonedDateTime.from(TemporalAccessor)
 
- 
zonedDateTimepublic ChronoZonedDateTime<JapaneseDate> zonedDateTime(Instant instant, ZoneId zone)次のインタフェースからコピーされた説明:ChronologyInstantからこの暦でChronoZonedDateTimeを取得します。これは、指定された同じインスタントで、ゾーン付きの日付/時間を取得します。 - 定義:
- インタフェースChronologyのzonedDateTime
- パラメータ:
- instant- 日付/時間の作成元のインスタント、null以外
- zone- タイムゾーン、null以外
- 戻り値:
- ゾーン付きの日付/時間、null以外
 
- 
isLeapYearpublic boolean isLeapYear(long prolepticYear)指定された年がうるう年であるかどうかをチェックします。和暦のうるう年は、ISO暦のうるう年と一致して発生します。 このメソッドは渡される年を検証せず、サポートされる範囲内の年に対してのみ明確に定義された結果が得られます。 - 定義:
- インタフェースChronologyのisLeapYear
- パラメータ:
- prolepticYear- チェックする先発暦の年、範囲が検証されない
- 戻り値:
- 年がうるう年の場合はtrue
 
- 
eraOfpublic JapaneseEra eraOf(int eraValue)指定された数値から、暦体系の紀元オブジェクトを返します。 このメソッドがサポートする数値は、JapaneseEra.of(int)がサポートする数値と同じです。- 定義:
- インタフェースChronologyのeraOf
- パラメータ:
- eraValue- 紀元の値
- 戻り値:
- 指定された数値の紀元値の和暦のEra
- 例外:
- DateTimeException-- eraValueが無効な場合
 
- 
resolveDatepublic JapaneseDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)クラスからコピーされた説明:AbstractChronology解析された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
- オーバーライド:
- クラスAbstractChronologyのresolveDate
- パラメータ:
- fieldValues- フィールドと値のマップ、更新可能、null以外
- resolverStyle- 要求された解決のタイプ、null以外
- 戻り値:
- 解決された日付、日付を作成するための情報が不十分な場合はnull
 
 
-