ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8

パッケージjava.time.temporal

フィールドと単位を使用した日時へのアクセス、および日時アジャスタ。

参照: 説明

パッケージjava.time.temporalの説明

フィールドと単位を使用した日時へのアクセス、および日時アジャスタ。

このパッケージはベース・パッケージの上に展開され、より強力なユース・ケース向けの追加機能を提供します。次のサポートが含まれています。

フィールドと単位

日付と時間はフィールドと単位によって表されます。単位は時間量の測定に使用されます(年、日、分など)。どの単位もTemporalUnitを実装します。既知の単位のセットはChronoUnitで定義されています(DAYSなど)。単位インタフェースは、アプリケーション定義の単位を使用できるように設計されています。

フィールドは、より大きい日付/時間の部分を表すために使用されます(年、月、秒など)。どのフィールドもTemporalFieldを実装します。既知のフィールドのセットはChronoFieldで定義されています(HOUR_OF_DAYなど)。追加のフィールドは、JulianFieldsWeekFields、およびIsoFieldsによって定義されます。フィールド・インタフェースは、アプリケーション定義のフィールドを使用できるように設計されています。

このパッケージに付属しているツールを使用すると、フレームワークにもっとも適した一般的な方法で日付と時間の単位およびフィールドにアクセスできます。Temporalは、フィールドをサポートする日付/時間型の抽象を提供します。そのメソッドは、フィールドの値の取得、変更されたフィールド値による新しい日付/時間の作成、および追加情報の問合せ(通常はオフセットまたはタイムゾーンの抽出に使用される)をサポートします。

アプリケーション・コードでフィールドを使用するのは、簡易メソッドがないフィールドを取得する場合などです。たとえば、「月の日」の取得はよく行われるため、LocalDategetDayOfMonth()というメソッドがあります。しかし、一般的でないフィールドの場合は、そのフィールドを使用する必要があります。たとえば、date.get(ChronoField.ALIGNED_WEEK_OF_MONTH)です。フィールドは有効値の範囲へのアクセスも提供します。

調整と問合せ

日付/時間の問題空間の重要な部分は、日付を「月の最後の日」、「次の水曜日」といった関連する新しい値に調整することです。これらは、ベースの日付/時間を調整する関数としてモデル化されます。関数はTemporalAdjusterを実装し、Temporalを操作します。一般的な関数のセットがTemporalAdjustersで提供されています。たとえば、ある日付より後で最初に出現するある曜日を見つけるには、TemporalAdjusters.next(DayOfWeek)を使用し、たとえばdate.with(next(MONDAY))とします。アプリケーションでは、TemporalAdjusterを実装してアジャスタを定義することもできます。

TemporalAmountインタフェースは、相対的な時間の量をモデル化します。

日付/時間の調整に加え、TemporalQueryを介して問合せを可能にするインタフェースが用意されています。問合せインタフェースのもっとも一般的な実装はメソッド参照です。主要なクラスのfrom(TemporalAccessor)メソッドは、LocalDate::fromMonth::fromのようにすべて使用できます。追加の実装がTemporalQueriesでstaticメソッドとして提供されています。アプリケーションでは、TemporalQueryを実装して問合せを定義することもできます。

週の定義はロケールによって異なります。たとえば、通常ヨーロッパでは週は月曜日から始まりますが、米国では日曜日から始まります。WeekFieldsクラスはこの違いをモデル化します。

ISO暦体系では、週ベースでの年の分割も定義されています。これは、月曜日から月曜日までの完全な週を基にして年を定義します。これはIsoFieldsでモデル化されます。

パッケージの仕様

他で指定がない場合、このパッケージの任意のクラスまたはインタフェースのメソッドまたはコンストラクタにnull引数を渡すとNullPointerExceptionがスローされます。nullの動作のサマリーとしては、Javadocの「@param」の定義が使用されます。各メソッドのドキュメントに「@throws NullPointerException」は明記されていません。

すべての計算で数値のオーバーフローをチェックし、ArithmeticExceptionまたはDateTimeExceptionをスローするようにしてください。

導入されたバージョン:
JDK1.8
ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8

バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.