public final class IsoChronology extends AbstractChronology implements Serializable
この暦はISO暦体系のルールを定義します。 この暦体系は、ISO-8601規格に基づいており、事実上の世界暦です。
フィールドの定義は次のとおりです。
| 修飾子と型 | フィールド | 説明 |
|---|---|---|
static IsoChronology |
INSTANCE |
ISO暦の暦のシングルトン・インスタンス。
|
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
LocalDate |
date(Era era, int yearOfEra, int month, int dayOfMonth) |
紀元、紀元年、月、および「月の日」フィールドから、ISO暦のローカル日付を取得します。
|
LocalDate |
date(int prolepticYear, int month, int dayOfMonth) |
先発暦の年、月、および「月の日」フィールドから、ISO暦のローカル日付を取得します。
|
LocalDate |
date(TemporalAccessor temporal) |
別の日付/時間オブジェクトからISO暦のローカル日付を取得します。
|
LocalDate |
dateEpochDay(long epochDay) |
エポック日からISO暦のローカル日付を取得します。
|
LocalDate |
dateNow() |
デフォルトのタイムゾーンのシステム・クロックから現在のISO暦のローカル日付を取得します。
|
LocalDate |
dateNow(Clock clock) |
指定されたクロックから現在のISO暦のローカル日付を取得します。
|
LocalDate |
dateNow(ZoneId zone) |
指定されたタイムゾーンのシステム・クロックから現在のISO暦のローカル日付を取得します。
|
LocalDate |
dateYearDay(Era era, int yearOfEra, int dayOfYear) |
紀元、紀元年、および「年の日」フィールドから、ISO暦のローカル日付を取得します。
|
LocalDate |
dateYearDay(int prolepticYear, int dayOfYear) |
先発暦の年および「年の日」フィールドから、ISO暦のローカル日付を取得します。
|
IsoEra |
eraOf(int eraValue) |
数値から、暦の紀元オブジェクトを作成します。
|
List<Era> |
eras() |
暦の紀元のリストを取得します。
|
String |
getCalendarType() |
基礎となる暦体系のカレンダ・タイプ(iso8601)を取得します。
|
String |
getId() |
暦のID (ISO)を取得します。
|
boolean |
isLeapYear(long prolepticYear) |
ISO先発暦体系のルールに従って、年がうるう年であるかどうかをチェックします。
|
LocalDateTime |
localDateTime(TemporalAccessor temporal) |
別の日付/時間オブジェクトからISO暦のローカル日付/時間を取得します。
|
Period |
period(int years, int months, int days) |
この暦の期間を年、月および日に基づいて取得します。
|
int |
prolepticYear(Era era, int yearOfEra) |
紀元と紀元年を指定して先発暦の年を計算します。
|
ValueRange |
range(ChronoField field) |
指定されたフィールドの有効な値の範囲を取得します。
|
LocalDate |
resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle) |
解析された
ChronoFieldの値を解析時の日付に解決します。 |
ZonedDateTime |
zonedDateTime(Instant instant, ZoneId zone) |
Instantからこの暦でISOのゾーン付きの日付/時間を取得します。 |
ZonedDateTime |
zonedDateTime(TemporalAccessor temporal) |
もう一方の日付/時間オブジェクトからISOのゾーン付きの日付/時間を取得します。
|
compareTo, equals, hashCode, toStringfrom, getDisplayNamepublic static final IsoChronology INSTANCE
public String getId()
このIDはChronologyを一意に識別します。 これは、Chronology.of(String)を使用して、Chronologyを検索するために使用できます。
ChronologyのgetIdgetCalendarType()public String getCalendarType()
カレンダ・タイプはUnicode Locale Data Markup Language (LDML)の仕様によって定義された識別子です。 これは、Chronology.of(String)を使用して、Chronologyを検索するために使用できます。 それは、キー「ca」でLocale.getUnicodeLocaleType(String)からアクセス可能なロケールの一部としても使用できます。
ChronologyのgetCalendarTypegetId()public LocalDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Chronologyのdateera - ISO紀元、null以外yearOfEra - ISO暦の紀元年month - ISO暦の月dayOfMonth - ISO暦の「月の日」DateTimeException - 日付を作成できない場合ClassCastException - eraのタイプがIsoEraでない場合public LocalDate date(int prolepticYear, int month, int dayOfMonth)
これは、LocalDate.of(int, int, int)と同等です。
ChronologyのdateprolepticYear - ISO暦の先発暦の年month - ISO暦の月dayOfMonth - ISO暦の「月の日」DateTimeException - 日付を作成できない場合public LocalDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
ChronologyのdateYearDayera - ISO紀元、null以外yearOfEra - ISO暦の紀元年dayOfYear - ISO暦の「年の日」DateTimeException - 日付を作成できない場合public LocalDate dateYearDay(int prolepticYear, int dayOfYear)
これは、LocalDate.ofYearDay(int, int)と同等です。
ChronologyのdateYearDayprolepticYear - ISO暦の先発暦の年dayOfYear - ISO暦の「年の日」DateTimeException - 日付を作成できない場合public LocalDate dateEpochDay(long epochDay)
これは、LocalDate.ofEpochDay(long)と同等です。
ChronologyのdateEpochDayepochDay - エポック日DateTimeException - 日付を作成できない場合public LocalDate date(TemporalAccessor temporal)
これは、LocalDate.from(TemporalAccessor)と同等です。
Chronologyのdatetemporal - 変換する日付/時間的オブジェクト、null以外DateTimeException - 日付を作成できない場合ChronoLocalDate.from(TemporalAccessor)public LocalDateTime localDateTime(TemporalAccessor temporal)
これは、LocalDateTime.from(TemporalAccessor)と同等です。
ChronologyのlocalDateTimetemporal - 変換する日付/時間的オブジェクト、null以外DateTimeException - 日付/時間を作成できない場合ChronoLocalDateTime.from(TemporalAccessor)public ZonedDateTime zonedDateTime(TemporalAccessor temporal)
これは、ZonedDateTime.from(TemporalAccessor)と同等です。
ChronologyのzonedDateTimetemporal - 変換する日付/時間的オブジェクト、null以外DateTimeException - 日付/時間を作成できない場合ChronoZonedDateTime.from(TemporalAccessor)public ZonedDateTime zonedDateTime(Instant instant, ZoneId zone)
Instantからこの暦でISOのゾーン付きの日付/時間を取得します。
これは、ZonedDateTime.ofInstant(Instant, ZoneId)と同等です。
ChronologyのzonedDateTimeinstant - 日付/時間の作成元のインスタント、null以外zone - タイムゾーン、null以外DateTimeException - 結果がサポートされている範囲を超える場合public LocalDate dateNow()
これは、デフォルトのタイムゾーンのsystem clockを問い合わせ、現在の日付を取得します。
このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
ChronologyのdateNowDateTimeException - 日付を作成できない場合public LocalDate dateNow(ZoneId zone)
これはsystem clockを問い合わせて、現在の日付を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。
このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
ChronologyのdateNowzone - 使用するゾーンID、null以外DateTimeException - 日付を作成できない場合public LocalDate dateNow(Clock clock)
これは指定されたクロックを問い合わせ、現在の日付(今日)を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックはdependency injectionを使用して導入できます。
ChronologyのdateNowclock - 使用するクロック、null以外DateTimeException - 日付を作成できない場合public boolean isLeapYear(long prolepticYear)
このメソッドは、時系列全体にわたって、うるう年の現在のルールを適用します。 一般に、年は4で割り切れる場合にうるう年です。 ただし、400で割り切れる年を除き、100で割り切れる年はうるう年ではありません。
たとえば、1904年は4で割り切れるうるう年です。1900年は100で割り切れるため、うるう年ではありませんでしたが、2000年は400で割り切れるため、うるう年でした。
計算は先発暦で、遠い将来および遠い過去にも同じルールが適用されます。 これは歴史的には正確ではありませんが、ISO-8601規格には正確です。
ChronologyのisLeapYearprolepticYear - チェックするISO暦の先発暦の年public int prolepticYear(Era era, int yearOfEra)
Chronologyこれは紀元と紀元の年を単一の先発暦の年フィールドに組み合わせます。
JapaneseChronologyなど、暦で紀元が頻繁に使われている場合、紀元の年が紀元に照らして検証されます。 他の暦の場合、検証はオプションです。
ChronologyのprolepticYearera - 暦の正しいタイプの紀元、null以外yearOfEra - 暦の紀元の年public IsoEra eraOf(int eraValue)
Chronologyこの紀元は概念上、時系列の最大の区分です。 ほとんどの暦体系には、時系列を2つの紀元に分割する1つのエポックがあります。 ただし、一部には各指導者の統治期間に1つずつなど、複数の紀元があります。 正確な意味は、次の制約に従って、暦によって決定されます。
1970-01-01で使用する紀元は値が1である必要があります。 以降の紀元は、値が順に大きくなる必要があります。 以前の紀元は、値が順に小さくなる必要があります。 各暦は列挙または類似のシングルトンを参照して、紀元の値を提供する必要があります。
このメソッドは、指定された紀元の値に対して、正しいタイプのシングルトンの紀元を返します。
ChronologyのeraOferaValue - 紀元の値public List<Era> eras()
Chronologyほとんどの暦体系には、その中で年が意味を持つ紀元があります。 暦体系が紀元の概念をサポートしていない場合、空のリストを返す必要があります。
Chronologyのeraspublic LocalDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
ChronoFieldの値を解析時の日付に解決します。
ほとんどのTemporalField実装は、フィールド上の解決メソッドを使用して解決されます。 これに対し、ChronoFieldクラスは暦に関連する意味のみを持つフィールドを定義します。 そのため、ChronoField日付フィールドは、ここで特定の暦のコンテキストで解決されます。
ISO暦体系のChronoFieldインスタンスは次のように解決されます。
EPOCH_DAY - 存在する場合、これはLocalDateに変換され、他のすべての日付フィールドがこの日付に対して照合されます。
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の場合、現在の紀元(CE/AD)とみなされます。 strictモードでは、紀元が想定されず、YEAR_OF_ERAはそのままの状態にされます。 ERAのみが存在する場合、それはそのままの状態にされます。
YEAR、MONTH_OF_YEAR、DAY_OF_MONTH - 3つすべてが存在する場合、それらが組み合わされてLocalDateが形成されます。 3つすべてのモードで、YEARが検証されます。 モードがsmartまたはstrictの場合、月と日が検証され、日が1から31まで検証されます。 モードがlenientの場合、要求された年の1月1日の日付を作成し、次に月数での差、次に日数での差を加算する場合と等しい方法で、日付が組み合わされます。 モードがsmartで、「月の日」が年-月の最大より大きい場合、「月の日」は最後の「月の日」に調整されます。 モードがstrictの場合、3つのフィールドは有効な日付を形成している必要があります。
YEARとDAY_OF_YEAR - 両方とも存在する場合、それらが組み合わされてLocalDateが形成されます。 3つすべてのモードで、YEARが検証されます。 モードがlenientの場合、要求された年の1月1日の日付を作成し、次に日数での差を加算する場合と等しい方法で、日付が組み合わされます。 モードがsmartまたはstrictの場合、2つのフィールドは有効な日付を形成している必要があります。
YEAR、MONTH_OF_YEAR、ALIGNED_WEEK_OF_MONTH、ALIGNED_DAY_OF_WEEK_IN_MONTH - 4つすべてが存在する場合、それらが組み合わされてLocalDateが形成されます。 3つすべてのモードで、YEARが検証されます。 モードがlenientの場合、要求された年の1月1日の日付を作成し、次に月数での差、次に週数での差、次に日数での差を加算する場合と等しい方法で、日付が組み合わされます。 モードがsmartまたはstrictの場合、4つすべてのフィールドがそれらの外側の範囲に対して検証されます。 次に、要求された年と月の最初の日で日付を作成し、次に週数と日数での量を加算して、それらの値に到達する場合と等しい方法で、日付が組み合わされます。 モードがstrictの場合、日付がさらに検証され、日と週の調整によって月が変更されていないかどうかがチェックされます。
YEAR、MONTH_OF_YEAR、ALIGNED_WEEK_OF_MONTH、DAY_OF_WEEK - 4つすべてが存在する場合、それらが組み合わされてLocalDateが形成されます。 このアプローチは、ALIGNED_DAY_OF_WEEK_IN_MONTHの年、月、および週についての上記の説明と同じです。 年、月、および週が処理されると、曜日が次または同じ一致する曜日で調整されます。
YEAR、ALIGNED_WEEK_OF_YEAR、ALIGNED_DAY_OF_WEEK_IN_YEAR - 3つすべてが存在する場合、それらが組み合わされてLocalDateが形成されます。 3つすべてのモードで、YEARが検証されます。 モードがlenientの場合、要求された年の1月1日の日付を作成し、次に週数での差、次に日数での差を加算する場合と等しい方法で、日付が組み合わされます。 モードがsmartまたはstrictの場合、3つすべてのフィールドがそれらの外側の範囲に対して検証されます。 次に、要求された年の最初の日で日付を作成し、次に週数と日数での量を加算して、それらの値に到達する場合と等しい方法で、日付が組み合わされます。 モードがstrictの場合、日付がさらに検証され、日と週の調整によって年が変更されていないかどうかがチェックされます。
YEAR、ALIGNED_WEEK_OF_YEAR、DAY_OF_WEEK - 3つすべてが存在する場合、それらが組み合わされてLocalDateが形成されます。 このアプローチは、ALIGNED_DAY_OF_WEEK_IN_YEARの年および週についての上記の説明と同じです。 年および週が処理されると、曜日が次または同じ一致する曜日で調整されます。
ChronologyのresolveDateAbstractChronologyのresolveDatefieldValues - フィールドと値のマップ、更新可能、null以外resolverStyle - 要求された解決のタイプ、null以外DateTimeException - 一般に入力データの競合のため、日付を解決できない場合public ValueRange range(ChronoField field)
Chronology
すべてのフィールドはlong整数で表現できます。 このメソッドは、その値の有効範囲を記述するオブジェクトを返します。
結果は有効な最小値と最大値を記述しているだけなので、それらを深く解釈しすぎないことが重要です。 たとえば、範囲内の値であっても、フィールドに対して無効な場合があります。
このメソッドは、暦でフィールドをサポートしているかどうかに関係なく、結果を返します。
Chronologyのrangefield - 範囲を取得するフィールド、null以外public Period period(int years, int months, int days)
これは、指定された年、月、日を使用して、このISO暦の暦に関連付けられた期間を返します。 詳細は、Periodを参照してください。
Chronologyのperiodyears - 年数、負の場合もあるmonths - 年数、負の場合もあるdays - 年数、負の場合もある バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。