インタフェース | 説明 |
---|---|
Temporal |
時間的オブジェクト(日付、時間、オフセット、またはそれらのなんらかの組合せなど)への読取り/書込みアクセスを定義するフレームワークレベルのインタフェースです。
|
TemporalAccessor |
時間的オブジェクト(日付、時間、オフセット、またはそれらのなんらかの組合せなど)への読取り専用アクセスを定義するフレームワークレベルのインタフェースです。
|
TemporalAdjuster |
時間的オブジェクトを調整するための方針です。
|
TemporalAmount |
「6時間」、「8日間」、「2年3か月」などの時間量を定義するフレームワークレベルのインタフェースです。
|
TemporalField |
月、時刻などの日付/時間のフィールドです。
|
TemporalQuery<R> |
時間的オブジェクトを照会するための方針です。
|
TemporalUnit |
日間、時間などの日付/時間の単位です。
|
クラス | 説明 |
---|---|
IsoFields |
四半期、暦週の基準年など、ISO-8601暦体系に固有のフィールドと単位です。
|
JulianFields |
ユリウス日へのアクセスを提供する一連の日付フィールドです。
|
TemporalAdjusters |
一般的かつ有用なTemporalAdjustersです。
|
TemporalQueries |
TemporalQuery の一般的な実装です。 |
ValueRange |
日付/時間フィールドの有効な値の範囲です。
|
WeekFields |
曜日、「月の週番号」、および「年の週番号」フィールドのローカライズされた定義です。
|
列挙型 | 説明 |
---|---|
ChronoField |
フィールドの標準セット。
|
ChronoUnit |
日付期間の単位の標準セット。
|
例外 | 説明 |
---|---|
UnsupportedTemporalTypeException |
UnsupportedTemporalTypeExceptionは、ChronoFieldまたはChronoUnitがTemporalクラスでサポートされていないことを示します。
|
フィールドと単位を使用した日時へのアクセス、および日時アジャスタ。
このパッケージはベース・パッケージの上に展開され、より強力なユース・ケース向けの追加機能を提供します。次のサポートが含まれています。
日付と時間はフィールドと単位によって表されます。単位は時間量の測定に使用されます(年、日、分など)。どの単位もTemporalUnit
を実装します。既知の単位のセットはChronoUnit
で定義されています(DAYS
など)。単位インタフェースは、アプリケーション定義の単位を使用できるように設計されています。
フィールドは、より大きい日付/時間の部分を表すために使用されます(年、月、秒など)。どのフィールドもTemporalField
を実装します。既知のフィールドのセットはChronoField
で定義されています(HOUR_OF_DAY
など)。追加のフィールドは、JulianFields
、WeekFields
、およびIsoFields
によって定義されます。フィールド・インタフェースは、アプリケーション定義のフィールドを使用できるように設計されています。
このパッケージに付属しているツールを使用すると、フレームワークにもっとも適した一般的な方法で日付と時間の単位およびフィールドにアクセスできます。Temporal
は、フィールドをサポートする日付/時間型の抽象を提供します。そのメソッドは、フィールドの値の取得、変更されたフィールド値による新しい日付/時間の作成、および追加情報の問合せ(通常はオフセットまたはタイムゾーンの抽出に使用される)をサポートします。
アプリケーション・コードでフィールドを使用するのは、簡易メソッドがないフィールドを取得する場合などです。たとえば、「月の日」の取得はよく行われるため、LocalDate
にgetDayOfMonth()
というメソッドがあります。しかし、一般的でないフィールドの場合は、そのフィールドを使用する必要があります。たとえば、date.get(ChronoField.ALIGNED_WEEK_OF_MONTH)
です。フィールドは有効値の範囲へのアクセスも提供します。
日付/時間の問題空間の重要な部分は、日付を「月の最後の日」、「次の水曜日」といった関連する新しい値に調整することです。これらは、ベースの日付/時間を調整する関数としてモデル化されます。関数はTemporalAdjuster
を実装し、Temporal
を操作します。一般的な関数のセットがTemporalAdjusters
で提供されています。たとえば、ある日付より後で最初に出現するある曜日を見つけるには、TemporalAdjusters.next(DayOfWeek)
を使用し、たとえばdate.with(next(MONDAY))
とします。アプリケーションでは、TemporalAdjuster
を実装してアジャスタを定義することもできます。
TemporalAmount
インタフェースは、相対的な時間の量をモデル化します。
日付/時間の調整に加え、TemporalQuery
を介して問合せを可能にするインタフェースが用意されています。問合せインタフェースのもっとも一般的な実装はメソッド参照です。主要なクラスのfrom(TemporalAccessor)
メソッドは、LocalDate::from
やMonth::from
のようにすべて使用できます。追加の実装がTemporalQueries
でstaticメソッドとして提供されています。アプリケーションでは、TemporalQuery
を実装して問合せを定義することもできます。
週の定義はロケールによって異なります。たとえば、通常ヨーロッパでは週は月曜日から始まりますが、米国では日曜日から始まります。WeekFields
クラスはこの違いをモデル化します。
ISO暦体系では、週ベースでの年の分割も定義されています。これは、月曜日から月曜日までの完全な週を基にして年を定義します。これはIsoFields
でモデル化されます。
他で指定がない場合、このパッケージの任意のクラスまたはインタフェースのメソッドまたはコンストラクタにnull引数を渡すとNullPointerException
がスローされます。nullの動作のサマリーとしては、Javadocの「@param」の定義が使用されます。各メソッドのドキュメントに「@throws NullPointerException
」は明記されていません。
すべての計算で数値のオーバーフローをチェックし、ArithmeticException
またはDateTimeException
をスローするようにしてください。
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.