- すべての実装されたインタフェース:
Serializable
,Comparable<ChronoField>
,Constable
,TemporalField
public enum ChronoField extends Enum<ChronoField> implements TemporalField
このフィールド・セットは、日付、時間、または日付/時間を操作するためのフィールド・ベースのアクセスを提供します。 標準のフィールド・セットは、TemporalField
を実装することによって拡張できます。
これらのフィールドは、複数の暦体系に適用できると想定されています。 たとえば、ISO以外の暦体系の多くは、ルールは多少異なっても、日付を年、月、および日で定義しています。 各フィールドのドキュメントには、そのフィールドの動作が説明されています。
- 実装要件:
- これは不変でスレッドセーフな最終の列挙型です。
- 導入されたバージョン:
- 1.8
-
ネストされたクラスのサマリー
クラスjava.lang.Enumで宣言されたネストされたクラス/インタフェース
Enum.EnumDesc<E extends Enum<E>>
-
列挙型定数のサマリー
列挙型定数 列挙型定数 説明 ALIGNED_DAY_OF_WEEK_IN_MONTH
月のうちの位置合せされた曜日。ALIGNED_DAY_OF_WEEK_IN_YEAR
年のうちの位置合せされた曜日。ALIGNED_WEEK_OF_MONTH
月のうちの位置合せされた週番号。ALIGNED_WEEK_OF_YEAR
年のうちの位置合せされた週番号。AMPM_OF_DAY
1日の午前または午後。CLOCK_HOUR_OF_AMPM
午前または午後のクロック時間。CLOCK_HOUR_OF_DAY
1日のうちのクロック時間。DAY_OF_MONTH
月の日。DAY_OF_WEEK
火曜日などの曜日。DAY_OF_YEAR
年の日。EPOCH_DAY
Javaエポック1970-01-01 (ISO)を基準とするエポック日。ERA
紀元。HOUR_OF_AMPM
午前または午後の時。HOUR_OF_DAY
時。INSTANT_SECONDS
インスタントのエポック秒。MICRO_OF_DAY
1日のうちのマイクロ秒。MICRO_OF_SECOND
1秒のうちのマイクロ秒。MILLI_OF_DAY
1日のうちのミリ秒。MILLI_OF_SECOND
1秒のうちのミリ秒。MINUTE_OF_DAY
1日のうちの分。MINUTE_OF_HOUR
分。MONTH_OF_YEAR
3月などの月。NANO_OF_DAY
1日のうちのナノ秒。NANO_OF_SECOND
1秒のうちのナノ秒。OFFSET_SECONDS
UTC/グリニッジからのオフセット。PROLEPTIC_MONTH
先発暦の月(年0から順に月をカウント)。SECOND_OF_DAY
1日のうちの秒。SECOND_OF_MINUTE
秒。YEAR
2012などの先発暦の年。YEAR_OF_ERA
紀元のうちの年。 -
メソッドのサマリー
修飾子と型 メソッド 説明 int
checkValidIntValue(long value)
指定された値が有効で、int
に収まることを確認します。long
checkValidValue(long value)
指定された値がこのフィールドに対して有効であることを確認します。boolean
isDateBased()
このフィールドが日付のコンポーネントを表しているかどうかを確認します。boolean
isTimeBased()
このフィールドが時間のコンポーネントを表しているかどうかを確認します。ValueRange
range()
フィールドの有効値の範囲を取得します。static ChronoField
valueOf(String name)
指定された名前を持つ、この型の列挙型定数を返します。static ChronoField[]
values()
この列挙型の定数を含む配列を、宣言されている順序で返します。クラス java.lang.Enumで宣言されたメソッド
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
インタフェース java.time.temporal.TemporalFieldで宣言されたメソッド
adjustInto, getBaseUnit, getDisplayName, getFrom, getRangeUnit, isSupportedBy, rangeRefinedBy, resolve, toString
-
列挙型定数の詳細
-
NANO_OF_SECOND
public static final ChronoField NANO_OF_SECOND1秒のうちのナノ秒。これは1秒のうちのナノ秒を0から999,999,999の範囲でカウントします。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは「1秒のうちのナノ秒」を表すために使用され、秒の小数部を扱います。
TemporalAccessor
の実装では、SECOND_OF_MINUTE
、SECOND_OF_DAY
、またはINSTANT_SECONDS
の値を返すことができる場合、このフィールドに値を与えるようにしてください。不明な精度にはゼロを挿入します。このフィールドを使用して値を設定するときは、オブジェクトが格納する精度と同じ精度で設定してください。余分な精度は整数除算を使用して削除します。 たとえば、
TemporalAccessor
が時間をミリ秒の精度で格納する場合は、「1秒のうちのナノ秒」を1,000,000で割ってから、「1秒のうちのミリ秒」を置き換える必要があります。このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは値が検証されますが、非厳密モードでは検証されません。 フィールドが
MILLI_OF_SECOND
およびMICRO_OF_SECOND
との組合せで解決されます。 -
NANO_OF_DAY
public static final ChronoField NANO_OF_DAY1日のうちのナノ秒。これは1日のうちのナノ秒を0から(24 * 60 * 60 * 1,000,000,000) - 1の範囲でカウントします。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは「1日のうちのナノ秒」を表すために使用され、秒の小数部を扱います。
TemporalAccessor
の実装では、SECOND_OF_DAY
の値を返すことができる場合、このフィールドに値を与えるようにしてください。不明な精度にはゼロを挿入します。このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは値が検証されますが、非厳密モードでは検証されません。 値が
NANO_OF_SECOND
、SECOND_OF_MINUTE
、MINUTE_OF_HOUR
、およびHOUR_OF_DAY
フィールドに分割されます。 -
MICRO_OF_SECOND
public static final ChronoField MICRO_OF_SECOND1秒のうちのマイクロ秒。これは1秒のうちのマイクロ秒を0から999,999の範囲でカウントします。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは「1秒のうちのマイクロ秒」を表すために使用され、秒の小数部を扱います。
TemporalAccessor
の実装では、SECOND_OF_MINUTE
、SECOND_OF_DAY
、またはINSTANT_SECONDS
の値を返すことができる場合、このフィールドに値を与えるようにしてください。不明な精度にはゼロを挿入します。このフィールドを使用して値を設定するときは、1,000を掛けた値で
NANO_OF_SECOND
を設定する場合と同じ方法で設定してください。このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは値が検証されますが、非厳密モードでは検証されません。 フィールドが
MILLI_OF_SECOND
との組合せで解決されて、NANO_OF_SECOND
が生成されます。 -
MICRO_OF_DAY
public static final ChronoField MICRO_OF_DAY1日のうちのマイクロ秒。これは1日のうちのマイクロ秒を0から(24 * 60 * 60 * 1,000,000) - 1の範囲でカウントします。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは「1日のうちのマイクロ秒」を表すために使用され、秒の小数部を扱います。
TemporalAccessor
の実装では、SECOND_OF_DAY
の値を返すことができる場合、このフィールドに値を与えるようにしてください。不明な精度にはゼロを挿入します。このフィールドを使用して値を設定するときは、1,000を掛けた値で
NANO_OF_DAY
を設定する場合と同じ方法で設定してください。このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは値が検証されますが、非厳密モードでは検証されません。 値が
MICRO_OF_SECOND
、SECOND_OF_MINUTE
、MINUTE_OF_HOUR
、およびHOUR_OF_DAY
フィールドに分割されます。 -
MILLI_OF_SECOND
public static final ChronoField MILLI_OF_SECOND1秒のうちのミリ秒。これは1秒のうちのミリ秒を0から999の範囲でカウントします。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは「1秒のうちのミリ秒」を表すために使用され、秒の小数部を扱います。
TemporalAccessor
の実装では、SECOND_OF_MINUTE
、SECOND_OF_DAY
、またはINSTANT_SECONDS
の値を返すことができる場合、このフィールドに値を与えるようにしてください。不明な精度にはゼロを挿入します。このフィールドを使用して値を設定するときは、1,000,000を掛けた値で
NANO_OF_SECOND
を設定する場合と同じ方法で設定してください。このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは値が検証されますが、非厳密モードでは検証されません。 フィールドが
MICRO_OF_SECOND
との組合せで解決されて、NANO_OF_SECOND
が生成されます。 -
MILLI_OF_DAY
public static final ChronoField MILLI_OF_DAY1日のうちのミリ秒。これは1日のうちのミリ秒を0から(24 * 60 * 60 * 1,000) - 1の範囲でカウントします。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは「1日のうちのミリ秒」を表すために使用され、秒の小数部を扱います。
TemporalAccessor
の実装では、SECOND_OF_DAY
の値を返すことができる場合、このフィールドに値を与えるようにしてください。不明な精度にはゼロを挿入します。このフィールドを使用して値を設定するときは、1,000,000を掛けた値で
NANO_OF_DAY
を設定する場合と同じ方法で設定してください。このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは値が検証されますが、非厳密モードでは検証されません。 値が
MILLI_OF_SECOND
、SECOND_OF_MINUTE
、MINUTE_OF_HOUR
、およびHOUR_OF_DAY
フィールドに分割されます。 -
SECOND_OF_MINUTE
public static final ChronoField SECOND_OF_MINUTE秒。これは1分のうちの秒を0から59の範囲でカウントします。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは値が検証されますが、非厳密モードでは検証されません。
-
SECOND_OF_DAY
public static final ChronoField SECOND_OF_DAY1日のうちの秒。これは1日のうちの秒を0から(24 * 60 * 60) - 1の範囲でカウントします。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは値が検証されますが、非厳密モードでは検証されません。 値が
SECOND_OF_MINUTE
、MINUTE_OF_HOUR
、およびHOUR_OF_DAY
フィールドに分割されます。 -
MINUTE_OF_HOUR
public static final ChronoField MINUTE_OF_HOUR分。これは1時間のうちの分を0から59の範囲でカウントします。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは値が検証されますが、非厳密モードでは検証されません。
-
MINUTE_OF_DAY
public static final ChronoField MINUTE_OF_DAY1日のうちの分。これは1日のうちの分を0から(24 * 60) - 1の範囲でカウントします。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは値が検証されますが、非厳密モードでは検証されません。 値が
MINUTE_OF_HOUR
およびHOUR_OF_DAY
フィールドに分割されます。 -
HOUR_OF_AMPM
public static final ChronoField HOUR_OF_AMPM午前または午後の時。これは午前/午後の時を0から11の範囲でカウントします。 これは標準の12時間デジタル時計に表示される時です。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは、0から11の範囲で値が検証されます。 非厳密モードでは値は検証されません。 これは
AMPM_OF_DAY
と組み合わされ、{AMPM_OF_DAY}の値に12を掛けることによってHOUR_OF_DAY
が生成されます。CLOCK_HOUR_OF_AMPM
を参照して、1から12までの時間をカウントする関連フィールドを確認します。 -
CLOCK_HOUR_OF_AMPM
public static final ChronoField CLOCK_HOUR_OF_AMPM午前または午後のクロック時間。これは午前/午後の時を1から12の範囲でカウントします。 これは標準の12時間アナログ時計に表示される時です。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは解析時には次のように動作します。厳密モードでは1から12、スマート・モードでは0から12の範囲で、値が検証されます。 非厳密モードでは値は検証されません。 このフィールドは、値が12でない場合は同じ値の
HOUR_OF_AMPM
に変換され、値が12の場合は0に変換されます。HOUR_OF_AMPM
には、0〜11の時間をカウントする関連フィールドがあります。 -
HOUR_OF_DAY
public static final ChronoField HOUR_OF_DAY時。これは1日のうちの時を0から23の範囲でカウントします。 これは標準の24時間デジタル時計に表示される時です。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは値が検証されますが、非厳密モードでは検証されません。 フィールドが
MINUTE_OF_HOUR
、SECOND_OF_MINUTE
、およびNANO_OF_SECOND
と組み合わされて、LocalTime
が生成されます。 非厳密モードでは、超過日数は解析された日付に加算されるか、DateTimeFormatter.parsedExcessDays()
を介して使用可能になります。CLOCK_HOUR_OF_DAY
を参照して、1〜24の時間をカウントする関連フィールドを確認します。 -
CLOCK_HOUR_OF_DAY
public static final ChronoField CLOCK_HOUR_OF_DAY1日のうちのクロック時間。これは1日のうちの時を1から24の範囲でカウントします。 これは24時間アナログ時計に表示される時です。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは解析時には次のように動作します。厳密モードでは1から24、スマート・モードでは0から24の範囲で、値が検証されます。 非厳密モードでは値は検証されません。 このフィールドは、値が24でない場合は同じ値の
HOUR_OF_DAY
に変換され、値が24の場合は0に変換されます。HOUR_OF_DAY
には、0〜23の時間をカウントする関連フィールドがあります。 -
AMPM_OF_DAY
public static final ChronoField AMPM_OF_DAY1日の午前または午後。これは1日のうちの午前/午後を0 (午前)から1 (午後)の範囲でカウントします。 このフィールドはすべての暦体系で同じ意味を持ちます。
このフィールドは解析時には次のように動作します。厳密およびスマート・モードでは、0から1の範囲で値が検証されます。 非厳密モードでは値は検証されません。 これは
HOUR_OF_AMPM
と組み合わされ、{AMPM_OF_DAY}の値に12を掛けることによってHOUR_OF_DAY
が生成されます。 -
DAY_OF_WEEK
public static final ChronoField DAY_OF_WEEK火曜日などの曜日。これは曜日の標準的な概念を表します。 デフォルトのISO暦体系では、月曜(1)から日曜(7)までの値を取ります。
DayOfWeek
クラスを使用して結果を解釈できます。ISO以外の暦体系の多くでも、ISOと同様に7日からなる週が定義されています。 このような暦体系では、
DayOfWeek
を使用できるように、月曜(1)から日曜(7)までの同じ番号付けを使用する必要もあります。7日からなる標準的な週を使用しない暦体系では、週に似た期間に名前または番号の付けられた日が含まれる類似の概念がある場合に、このフィールドを実装するようにしてください。 番号付けは1から始めることをお薦めします。
-
ALIGNED_DAY_OF_WEEK_IN_MONTH
public static final ChronoField ALIGNED_DAY_OF_WEEK_IN_MONTH月のうちの位置合せされた曜日。これは、週が月の開始に位置合せされる場合の、ある週の期間に含まれる日のカウントの概念を表します。 通常、このフィールドは
ALIGNED_WEEK_OF_MONTH
とともに使用されます。たとえば、7日からなる週を使用する暦体系では、最初の「位置合せされた月の週番号」は「月の日」1から始まり、2番目の「位置合せされた月の週番号」は「月の日」8から始まる、というようになります。 これらの位置合せされた各週に含まれる日に1から7までの番号が付けられ、このフィールドの値として返されます。 したがって、「月の日」1から7では、「位置合せされた曜日」の値は1から7になります。 また、「月の日」8から14でもこれが繰り返され、「位置合せされた曜日」の値は1から7になります。
7日からなる週を使用しない暦体系では、週の長さは異なるものを使用しますが、通常は同じ方法でこのフィールドを実装するようにしてください。
-
ALIGNED_DAY_OF_WEEK_IN_YEAR
public static final ChronoField ALIGNED_DAY_OF_WEEK_IN_YEAR年のうちの位置合せされた曜日。これは、週が年の開始に位置合せされる場合の、ある週の期間に含まれる日のカウントの概念を表します。 通常、このフィールドは
ALIGNED_WEEK_OF_YEAR
とともに使用されます。たとえば、7日からなる週を使用する暦体系では、最初の「位置合せされた年の週番号」は「年の日」1から始まり、2番目の「位置合せされた年の週番号」は「年の日」8から始まる、というようになります。 これらの位置合せされた各週に含まれる日に1から7までの番号が付けられ、このフィールドの値として返されます。 したがって、「年の日」1から7では、「位置合せされた曜日」の値は1から7になります。 また、「年の日」8から14でもこれが繰り返され、「位置合せされた曜日」の値は1から7になります。
7日からなる週を使用しない暦体系では、週の長さは異なるものを使用しますが、通常は同じ方法でこのフィールドを実装するようにしてください。
-
DAY_OF_MONTH
public static final ChronoField DAY_OF_MONTH月の日。これは月のうちの日の概念を表します。 デフォルトのISO暦体系では、ほとんどの月で1から31までの値を取ります。 4月、6月、9月、11月には1から30までの日があり、2月には1から28 (うるう年では29)までの日があります。
ISO以外の暦体系では、その暦体系のユーザーにもっとも認められている「月の日」の値を使用して、このフィールドを実装するようにしてください。 これは通常、日を1からその月の長さまでカウントします。
-
DAY_OF_YEAR
public static final ChronoField DAY_OF_YEAR年の日。これは年のうちの日の概念を表します。 デフォルトのISO暦体系では、標準の年で1から365まで、うるう年では1から366までの値を取ります。
ISO以外の暦体系では、その暦体系のユーザーにもっとも認められている「年の日」の値を使用して、このフィールドを実装するようにしてください。 これは通常、日を1からその年の長さまでカウントします。
ISO以外の暦体系では、月の番号が自然にリセットされる点とは異なる点で年の番号が変わる方式が使用されている場合があります。 たとえば、和暦体系では紀元の変更が任意の日付で発生する可能性があり、それによって年の番号が1にリセットされます。 紀元と年がリセットされると、「年の日」も1にリセットされますが、月や「月の日」はリセットされません。
-
EPOCH_DAY
public static final ChronoField EPOCH_DAYJavaエポック1970-01-01 (ISO)を基準とするエポック日。このフィールドは、1970-01-01 (ISO)をゼロとして、日を順にカウントします。 これにはローカル時系列が使用され、オフセットとタイムゾーンは無視されることに注意してください。
このフィールドは、すべての暦体系で同じ意味を持つように厳密に定義されます。 これは暦間での相互運用を保証するために必要です。
EpochDayの範囲は、両方ともを含む(LocalDate.MIN.toEpochDay()、LocalDate.MAX.toEpochDay()の間です。
-
ALIGNED_WEEK_OF_MONTH
public static final ChronoField ALIGNED_WEEK_OF_MONTH月のうちの位置合せされた週番号。これは、週が月の開始に位置合せされる場合の、ある月の期間に含まれる週のカウントの概念を表します。 通常、このフィールドは
ALIGNED_DAY_OF_WEEK_IN_MONTH
とともに使用されます。たとえば、7日からなる週を使用する暦体系では、最初の「位置合せされた月の週番号」は「月の日」1から始まり、2番目の「位置合せされた月の週番号」は「月の日」8から始まる、というようになります。 したがって、「月の日」の値1から7までは「位置合せされた月の週番号」1に含まれ、「月の日」の値8から14までは「位置合せされた月の週番号」2に含まれる、というようになります。
7日からなる週を使用しない暦体系では、週の長さは異なるものを使用しますが、通常は同じ方法でこのフィールドを実装するようにしてください。
-
ALIGNED_WEEK_OF_YEAR
public static final ChronoField ALIGNED_WEEK_OF_YEAR年のうちの位置合せされた週番号。これは、週が年の開始に位置合せされる場合の、ある年の期間に含まれる週のカウントの概念を表します。 通常、このフィールドは
ALIGNED_DAY_OF_WEEK_IN_YEAR
とともに使用されます。たとえば、7日からなる週を使用する暦体系では、最初の「位置合せされた年の週番号」は「年の日」1から始まり、2番目の「位置合せされた年の週番号」は「年の日」8から始まる、というようになります。 したがって、「年の日」の値1から7までは「位置合せされた年の週番号」1に含まれ、「年の日」の値8から14までは「位置合せされた年の週番号」2に含まれる、というようになります。
7日からなる週を使用しない暦体系では、週の長さは異なるものを使用しますが、通常は同じ方法でこのフィールドを実装するようにしてください。
-
MONTH_OF_YEAR
public static final ChronoField MONTH_OF_YEAR3月などの月。これは年のうちの月の概念を表します。 デフォルトのISO暦体系では、1月(1)から12月(12)までの値を取ります。
ISO以外の暦体系では、その暦体系のユーザーにもっとも認められている月の値を使用して、このフィールドを実装するようにしてください。 これは通常、月を1からカウントします。
-
PROLEPTIC_MONTH
public static final ChronoField PROLEPTIC_MONTH先発暦の月(年0から順に月をカウント)。このフィールドは、先発暦0年の最初の月が値ゼロを持つものとして、月を順にカウントします。 後になるほど月の値は順に大きくなります。 前になるほど月の値は順に小さくなります。 月の並びにギャップや中断はありません。 これにはローカル時系列が使用され、オフセットとタイムゾーンは無視されることに注意してください。
デフォルトのISO暦体系では、2012年6月の値は
(2012 * 12 + 6 - 1)
になります。 このフィールドは主に内部使用向けです。ISO以外の暦体系では、上記の定義に従ってこのフィールドを実装する必要があります。 これは、先発暦0年の開始から経過した月を単純にゼロからカウントします。 先発暦の年が完全に定義されているすべての暦体系には、0年が存在します。 0年を含まない最小の年が暦体系に存在する場合、このメソッドを定義するには0年を推定する必要があります。
-
YEAR_OF_ERA
public static final ChronoField YEAR_OF_ERA紀元のうちの年。これは紀元のうちの年の概念を表します。 通常、このフィールドは
ERA
とともに使用されます。日付を表す標準のメンタル・モデルは、年、月および日という3つの概念に基づいています。 これらは、
YEAR
、MONTH_OF_YEAR
およびDAY_OF_MONTH
フィールドにマップされます。 紀元には言及されていないことに注意してください。 日付を表す完全なモデルには、紀元、年、月および日という4つの概念が必要です。 これらは、ERA
、YEAR_OF_ERA
、MONTH_OF_YEAR
およびDAY_OF_MONTH
フィールドにマップされます。 このフィールドとYEAR
のどちらが使用されるかは、使用されているメンタル・モデルによって決まります。 このトピックの詳細については、ChronoLocalDate
を参照してください。デフォルトのISO暦体系では、「BCE」と「CE」という2つの紀元が定義されています。 紀元「CE」は現在使用されているもので、紀元年は1から最大値まで進みます。 紀元「BCE」は1つ前の紀元で、紀元年は後ろへ進みます。
たとえば、毎回1年を減算すると次のようになります。
- 先発暦の年2 = 「CE」紀元年2
- 先発暦の年1 = 「CE」紀元年1
- 先発暦の年0 = 「BCE」紀元年1
- 先発暦の年-1 = 「BCE」紀元年2
実際には、ISO-8601標準で紀元は定義されていません。 また、ユリウス暦とグレゴリオ暦の間の切換えのため、ISOの紀元はよく知られているAD/BC紀元に揃っていません。
ISO以外の暦体系では、その暦体系のユーザーにもっとも認められている紀元年の値を使用して、このフィールドを実装するようにしてください。 ほとんどの暦体系には紀元が2つだけ存在するため、紀元年の番号付けはISO暦体系で使用されるものと通常は同じです。 紀元年の値は、通常は常に正であるべきですが、これは必須ではありません。
-
YEAR
public static final ChronoField YEAR2012などの先発暦の年。これは、負の数を使用して順にカウントした年の概念を表します。 先発暦の年は、紀元を基に解釈されることはありません。 先発暦の年から紀元年へのマッピングを示す例については、
YEAR_OF_ERA
を参照してください。日付を表す標準のメンタル・モデルは、年、月および日という3つの概念に基づいています。 これらは、
YEAR
、MONTH_OF_YEAR
およびDAY_OF_MONTH
フィールドにマップされます。 紀元には言及されていないことに注意してください。 日付を表す完全なモデルには、紀元、年、月および日という4つの概念が必要です。 これらは、ERA
、YEAR_OF_ERA
、MONTH_OF_YEAR
およびDAY_OF_MONTH
フィールドにマップされます。 このフィールドとYEAR_OF_ERA
のどちらが使用されるかは、使用されているメンタル・モデルによって決まります。 このトピックの詳細については、ChronoLocalDate
を参照してください。ISO以外の暦体系では、このフィールドを次のように実装するようにしてください。 暦体系に紀元が2つだけ存在する場合(固定の日付の前と後)、「先発暦の年」の値は、後の紀元では紀元年の値と同じになり、前の紀元では順に増加する負の値になります。 暦体系に3つ以上の紀元が存在する場合、「先発暦の年」の値は適切な任意の値で定義できます。ただし、ISOと同じになるように定義することが最善のオプションでしょう。
-
ERA
public static final ChronoField ERA紀元。これは、時系列の最大の区分である紀元の概念を表します。 通常、このフィールドは
YEAR_OF_ERA
とともに使用されます。デフォルトのISO暦体系では、「BCE」と「CE」という2つの紀元が定義されています。 紀元「CE」は現在使用されているもので、紀元年は1から最大値まで進みます。 紀元「BCE」は1つ前の紀元で、紀元年は後ろへ進みます。 詳細な例については、
YEAR_OF_ERA
を参照してください。ISO以外の暦体系では、紀元を定義するためにこのフィールドを実装するようにしてください。 1970-01-01 (ISO)の時点でアクティブであった紀元に値1を割り当てる必要があります。 前になるほど紀元の値は順に小さくなる必要があります。 後になるほど紀元の値は順に大きくなる必要があります。
-
INSTANT_SECONDS
public static final ChronoField INSTANT_SECONDSインスタントのエポック秒。これは、1970-01-01T00:00Z (ISO)をゼロとして順にカウントした秒の概念を表します。 このフィールドを
NANO_OF_SECOND
とともに使用して、秒の小数部を表すことができます。Instant
は、時系列上の一瞬の点を表します。 インスタントは、単独でローカル日付/時間の取得を可能にするだけの十分な情報を持っていません。 オフセットまたはタイムゾーンと組み合せた場合のみ、ローカルの日付または時間を計算できます。このフィールドは、すべての暦体系で同じ意味を持つように厳密に定義されます。 これは暦間での相互運用を保証するために必要です。
-
OFFSET_SECONDS
public static final ChronoField OFFSET_SECONDSUTC/グリニッジからのオフセット。これは、UTC/グリニッジからのローカル時間のオフセット(秒数)の概念を表します。
ZoneOffset
は、ローカル時間とUTC/グリニッジの時間差を表します。 これは通常、時と分からなる固定の数値です。 オフセットの合計
の秒数と等価です。 たとえば、冬の間、パリのオフセットは+01:00
で、これは3600秒です。このフィールドは、すべての暦体系で同じ意味を持つように厳密に定義されます。 これは暦間での相互運用を保証するために必要です。
-
-
メソッドの詳細
-
values
public static ChronoField[] values()この列挙型の定数を含む配列を、宣言されている順序で返します。- 戻り値:
- この列挙型の定数を含む配列(宣言されている順序)
-
valueOf
public static ChronoField valueOf(String name)指定された名前を持つ、この型の列挙型定数を返します。 文字列は、この型の列挙型定数を宣言するのに使用した識別子と厳密に一致している必要があります。 (不適切な空白文字は許可されません。)- パラメータ:
name
- 返される列挙型定数の名前。- 戻り値:
- 指定された名前を持つ列挙型定数
- 例外:
IllegalArgumentException
- 指定された名前を持つ定数をこの列挙型が持っていない場合NullPointerException
- 引数がnullの場合
-
range
public ValueRange range()フィールドの有効値の範囲を取得します。すべてのフィールドは
long
整数で表現できます。 このメソッドは、その値の有効範囲を記述するオブジェクトを返します。このメソッドは、ISO-8601暦体系のフィールドの範囲を返します。 この範囲は他の暦体系では正しくない可能性があります。 別の暦体系の正しい範囲にアクセスするには、
Chronology.range(ChronoField)
を使用してください。結果は有効な最小値と最大値を記述しているだけなので、それらを深く解釈しすぎないことが重要です。 たとえば、範囲内の値であっても、フィールドに対して無効な場合があります。
- 定義:
- インタフェース
TemporalField
のrange
- 戻り値:
- フィールドの有効値の範囲。null以外
-
isDateBased
public boolean isDateBased()このフィールドが日付のコンポーネントを表しているかどうかを確認します。曜日から紀元までのフィールドは日付ベースです。
- 定義:
- インタフェース
TemporalField
のisDateBased
- 戻り値:
- これが日付のコンポーネントである場合はtrue
-
isTimeBased
public boolean isTimeBased()このフィールドが時間のコンポーネントを表しているかどうかを確認します。「1秒のうちのナノ秒」から「1日の午前または午後」までのフィールドは時間ベースです。
- 定義:
- インタフェース
TemporalField
のisTimeBased
- 戻り値:
- これが時間のコンポーネントである場合はtrue
-
checkValidValue
public long checkValidValue(long value)指定された値がこのフィールドに対して有効であることを確認します。これは、
range()
によって返された有効値の外側の範囲に値が入っていることを検証します。このメソッドは、ISO-8601暦体系のフィールドの範囲に照らしてチェックします。 この範囲は他の暦体系では正しくない可能性があります。 別の暦体系の正しい範囲にアクセスするには、
Chronology.range(ChronoField)
を使用してください。- パラメータ:
value
- チェックする値- 戻り値:
- 渡された値
-
checkValidIntValue
public int checkValidIntValue(long value)指定された値が有効で、int
に収まることを確認します。これは、
range()
によって返された有効値の外側の範囲に値が入っていることを検証します。 すべての有効値がint
の境界に収まることも確認します。このメソッドは、ISO-8601暦体系のフィールドの範囲に照らしてチェックします。 この範囲は他の暦体系では正しくない可能性があります。 別の暦体系の正しい範囲にアクセスするには、
Chronology.range(ChronoField)
を使用してください。- パラメータ:
value
- チェックする値- 戻り値:
- 渡された値
-