- java.lang.Object
-
- java.time.chrono.AbstractChronology
-
- java.time.chrono.IsoChronology
-
- すべての実装されたインタフェース:
Serializable
,Comparable<Chronology>
,Chronology
public final class IsoChronology extends AbstractChronology implements Serializable
ISO暦体系。この暦はISO暦体系のルールを定義します。 この暦体系は、ISO-8601規格に基づいており、事実上の世界暦です。
フィールドの定義は次のとおりです。
- 紀元 - 「紀元後」(CE)と「紀元前」(BCE)の2つの紀元があります。
- 紀元年 - 紀元年は現在のCE紀元の先発暦の年と同じです。 ISO暦のエポック以前のBCE紀元では、時間を遡るにつれて、年が1から増えていきます。
- 先発暦の年 - 先発暦の年は、現在の紀元の紀元年と同じです。 前の紀元では、年は0で、次に負の値になります。
- 月 - ISO暦の年には、1から12の番号が付けられた12か月あります。
- 「月の日」 - ISO暦の各月には、1から31の番号が付けられた28日から31日まであります。 4、6、9、および11月は30日あり、1、3、5、7、8、10、および12月は31日あります。 2月は28日、またはうるう年に29日あります。
- 「年の日」 - 標準のISO暦の年は365日あり、うるう年は366日あります。 日は1から365または1から366の番号が付けられます。
- うるう年 - うるう年は、年が100で割れて400で割れない場合を除いて、4年ごとに発生します。
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
- 直列化された形式
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static IsoChronology
INSTANCE
ISO暦の暦のシングルトン・インスタンス。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 LocalDate
date(int prolepticYear, int month, int dayOfMonth)
先発暦の年、月、および「月の日」フィールドから、ISO暦のローカル日付を取得します。LocalDate
date(Era era, int yearOfEra, 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(int prolepticYear, int dayOfYear)
先発暦の年および「年の日」フィールドから、ISO暦のローカル日付を取得します。LocalDate
dateYearDay(Era era, int yearOfEra, int dayOfYear)
紀元、紀元年、および「年の日」フィールドから、ISO暦のローカル日付を取得します。long
epochSecond(int prolepticYear, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset)
1970-01-01T00:00:00Zの時代からの秒数を取得します。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)
この暦の期間を年、月および日に基づいて取得します。LocalDate
resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
解析されたChronoField
の値を解析時の日付に解決します。ZonedDateTime
zonedDateTime(Instant instant, ZoneId zone)
Instant
からこの暦でISOのゾーン付きの日付/時間を取得します。ZonedDateTime
zonedDateTime(TemporalAccessor temporal)
もう一方の日付/時間オブジェクトからISOのゾーン付きの日付/時間を取得します。-
クラス java.time.chrono.AbstractChronologyで宣言されたメソッド
compareTo, equals, hashCode, toString
-
インタフェース java.time.chrono.Chronologyで宣言されたメソッド
epochSecond, eraOf, eras, getDisplayName, prolepticYear, range
-
-
-
-
フィールドの詳細
-
INSTANCE
public static final IsoChronology INSTANCE
ISO暦の暦のシングルトン・インスタンス。
-
-
メソッドの詳細
-
getId
public String getId()
暦のID (ISO)を取得します。このIDは
Chronology
を一意に識別します。 これは、Chronology.of(String)
を使用して、Chronology
を検索するために使用できます。- 定義:
- インタフェース
Chronology
のgetId
- 戻り値:
- 暦ID - ISO
- 関連項目:
getCalendarType()
-
getCalendarType
public String getCalendarType()
基礎となる暦体系のカレンダ・タイプ(iso8601)を取得します。カレンダ・タイプはUnicode Locale Data Markup Language (LDML)の仕様によって定義された識別子です。 これは、
Chronology.of(String)
を使用して、Chronology
を検索するために使用できます。 それは、キー「ca」でLocale.getUnicodeLocaleType(String)
からアクセス可能なロケールの一部としても使用できます。- 定義:
- インタフェース
Chronology
のgetCalendarType
- 戻り値:
- 暦体系タイプ - iso8601
- 関連項目:
getId()
-
date
public LocalDate date(Era era, int yearOfEra, int month, int dayOfMonth)
紀元、紀元年、月、および「月の日」フィールドから、ISO暦のローカル日付を取得します。- 定義:
- インタフェース
Chronology
のdate
- パラメータ:
era
- ISO紀元、null以外yearOfEra
- ISO暦の紀元年month
- ISO暦の月dayOfMonth
- ISO暦の「月の日」- 戻り値:
- ISO暦のローカル日付、null以外
- 例外:
DateTimeException
- 日付を作成できない場合ClassCastException
-era
のタイプがIsoEra
でない場合
-
date
public LocalDate date(int prolepticYear, int month, int dayOfMonth)
先発暦の年、月、および「月の日」フィールドから、ISO暦のローカル日付を取得します。これは、
LocalDate.of(int, int, int)
と同等です。- 定義:
- インタフェース
Chronology
のdate
- パラメータ:
prolepticYear
- ISO暦の先発暦の年month
- ISO暦の月dayOfMonth
- ISO暦の「月の日」- 戻り値:
- ISO暦のローカル日付、null以外
- 例外:
DateTimeException
- 日付を作成できない場合
-
dateYearDay
public LocalDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
紀元、紀元年、および「年の日」フィールドから、ISO暦のローカル日付を取得します。- 定義:
- インタフェース
Chronology
のdateYearDay
- パラメータ:
era
- ISO紀元、null以外yearOfEra
- ISO暦の紀元年dayOfYear
- ISO暦の「年の日」- 戻り値:
- ISO暦のローカル日付、null以外
- 例外:
DateTimeException
- 日付を作成できない場合
-
dateYearDay
public LocalDate dateYearDay(int prolepticYear, int dayOfYear)
先発暦の年および「年の日」フィールドから、ISO暦のローカル日付を取得します。これは、
LocalDate.ofYearDay(int, int)
と同等です。- 定義:
- インタフェース
Chronology
のdateYearDay
- パラメータ:
prolepticYear
- ISO暦の先発暦の年dayOfYear
- ISO暦の「年の日」- 戻り値:
- ISO暦のローカル日付、null以外
- 例外:
DateTimeException
- 日付を作成できない場合
-
dateEpochDay
public LocalDate dateEpochDay(long epochDay)
エポック日からISO暦のローカル日付を取得します。これは、
LocalDate.ofEpochDay(long)
と同等です。- 定義:
- インタフェース
Chronology
のdateEpochDay
- パラメータ:
epochDay
- エポック日- 戻り値:
- ISO暦のローカル日付、null以外
- 例外:
DateTimeException
- 日付を作成できない場合
-
date
public LocalDate date(TemporalAccessor temporal)
別の日付/時間オブジェクトからISO暦のローカル日付を取得します。これは、
LocalDate.from(TemporalAccessor)
と同等です。- 定義:
- インタフェース
Chronology
のdate
- パラメータ:
temporal
- 変換する日付/時間的オブジェクト、null以外- 戻り値:
- ISO暦のローカル日付、null以外
- 例外:
DateTimeException
- 日付を作成できない場合- 関連項目:
ChronoLocalDate.from(TemporalAccessor)
-
epochSecond
public long epochSecond(int prolepticYear, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset)
1970-01-01T00:00:00Zの時代からの秒数を取得します。秒数は、年、月、日、時、分、秒、およびzoneOffsetを使用して計算されます。
- 定義:
- インタフェース
Chronology
内のepochSecond
- パラメータ:
prolepticYear
- MIN_YEARからMAX_YEARまでの年month
- 1から12までの月dayOfMonth
- 1日から31日hour
- 時間帯0から23minute
- 分、0から59までsecond
- 秒、0から59までzoneOffset
- ゾーン・オフセット、not null- 戻り値:
- 1970-01-01T00:00:00Zを基準にした秒数。
- 例外:
DateTimeException
- 引数の値が範囲外である場合、または月の日付が無効である場合- 導入されたバージョン:
- 9
-
localDateTime
public LocalDateTime localDateTime(TemporalAccessor temporal)
別の日付/時間オブジェクトからISO暦のローカル日付/時間を取得します。これは、
LocalDateTime.from(TemporalAccessor)
と同等です。- 定義:
- インタフェース
Chronology
のlocalDateTime
- パラメータ:
temporal
- 変換する日付/時間的オブジェクト、null以外- 戻り値:
- ISO暦のローカル日付/時間、null以外
- 例外:
DateTimeException
- 日付/時間を作成できない場合- 関連項目:
ChronoLocalDateTime.from(TemporalAccessor)
-
zonedDateTime
public ZonedDateTime zonedDateTime(TemporalAccessor temporal)
もう一方の日付/時間オブジェクトからISOのゾーン付きの日付/時間を取得します。これは、
ZonedDateTime.from(TemporalAccessor)
と同等です。- 定義:
- インタフェース
Chronology
のzonedDateTime
- パラメータ:
temporal
- 変換する日付/時間的オブジェクト、null以外- 戻り値:
- ISO暦のゾーニング付きの日付/時間、null以外
- 例外:
DateTimeException
- 日付/時間を作成できない場合- 関連項目:
ChronoZonedDateTime.from(TemporalAccessor)
-
zonedDateTime
public ZonedDateTime zonedDateTime(Instant instant, ZoneId zone)
Instant
からこの暦でISOのゾーン付きの日付/時間を取得します。これは、
ZonedDateTime.ofInstant(Instant, ZoneId)
と同等です。- 定義:
- インタフェース
Chronology
のzonedDateTime
- パラメータ:
instant
- 日付/時間の作成元のインスタント、null以外zone
- タイムゾーン、null以外- 戻り値:
- ゾーン付きの日付/時間、null以外
- 例外:
DateTimeException
- 結果がサポートされている範囲を超える場合
-
dateNow
public LocalDate dateNow()
デフォルトのタイムゾーンのシステム・クロックから現在のISO暦のローカル日付を取得します。これは、デフォルトのタイムゾーンの
system clock
を問い合わせ、現在の日付を取得します。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- 定義:
- インタフェース
Chronology
のdateNow
- 戻り値:
- システムクロックとデフォルトのタイムゾーンを使用した現在のISO暦のローカル日付、null以外
- 例外:
DateTimeException
- 日付を作成できない場合
-
dateNow
public LocalDate dateNow(ZoneId zone)
指定されたタイムゾーンのシステム・クロックから現在のISO暦のローカル日付を取得します。これは
system clock
を問い合わせて、現在の日付を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- 定義:
- インタフェース
Chronology
のdateNow
- パラメータ:
zone
- 使用するゾーンID、null以外- 戻り値:
- システムクロックを使用した現在のISO暦のローカル日付、null以外
- 例外:
DateTimeException
- 日付を作成できない場合
-
dateNow
public LocalDate dateNow(Clock clock)
指定されたクロックから現在のISO暦のローカル日付を取得します。これは指定されたクロックを問い合わせ、現在の日付(今日)を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックは
dependency injection
を使用して導入できます。- 定義:
- インタフェース
Chronology
のdateNow
- パラメータ:
clock
- 使用するクロック、null以外- 戻り値:
- 現在のISO暦のローカル日付、null以外
- 例外:
DateTimeException
- 日付を作成できない場合
-
isLeapYear
public boolean isLeapYear(long prolepticYear)
ISO先発暦体系のルールに従って、年がうるう年であるかどうかをチェックします。このメソッドは、時系列全体にわたって、うるう年の現在のルールを適用します。 一般に、年は4で割り切れる場合にうるう年です。 ただし、400で割り切れる年を除き、100で割り切れる年はうるう年ではありません。
たとえば、1904年は4で割り切れるうるう年です。1900年は100で割り切れるため、うるう年ではありませんでしたが、2000年は400で割り切れるため、うるう年でした。
計算は先発暦で、遠い将来および遠い過去にも同じルールが適用されます。 これは歴史的には正確ではありませんが、ISO-8601規格には正確です。
- 定義:
- インタフェース
Chronology
のisLeapYear
- パラメータ:
prolepticYear
- チェックするISO暦の先発暦の年- 戻り値:
- 年がうるう年の場合はtrue、それ以外の場合はfalse
-
resolveDate
public 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
のresolveDate
- オーバーライド:
- クラス
AbstractChronology
のresolveDate
- パラメータ:
fieldValues
- フィールドと値のマップ、更新可能、null以外resolverStyle
- 要求された解決のタイプ、null以外- 戻り値:
- 解決された日付、日付を作成するための情報が不十分な場合はnull
- 例外:
DateTimeException
- 一般に入力データの競合のため、日付を解決できない場合
-
period
public Period period(int years, int months, int days)
この暦の期間を年、月および日に基づいて取得します。これは、指定された年、月、日を使用して、このISO暦の暦に関連付けられた期間を返します。 詳細は、
Period
を参照してください。- 定義:
- インタフェース
Chronology
のperiod
- パラメータ:
years
- 年数、負の場合もあるmonths
- 年数、負の場合もあるdays
- 年数、負の場合もある- 戻り値:
- この暦の形での期間、null以外
-
-