- すべての実装されたインタフェース:
Serializable,Comparable<ZoneOffset>,TemporalAccessor,TemporalAdjuster
+02:00など)。
タイムゾーン・オフセットは、タイムゾーンがグリニッジ/UTCと異なる期間です。 これは通常、時と分からなる固定の数値です。
タイムゾーン・オフセットは世界の地域ごとに異なります。 場所や時期によってオフセットがどう変わるかについてのルールは、ZoneIdクラスで返されます。
たとえば、パリは、冬にはグリニッジ/UTCから1時間進み、夏には2時間進みます。 パリのZoneIdインスタンスは2つのZoneOffsetインスタンス(冬は+01:00インスタンス、夏は+02:00インスタンス)を参照します。
2008年に、世界中のタイムゾーン・オフセットが-12:00から+14:00までに拡張されました。 範囲が拡張されることに関する問題を回避し、さらに検証を提供するために、オフセットの範囲は-18:00から18:00までに制限されています。
このクラスはISO暦体系で使用するように設計されています。 時間、分および秒のフィールドは、それらの標準ISO定義に対して有効であることを前提としています。 このクラスは、時間フィールドの定義がISO暦体系のものと一致する場合には、他の暦体系で使用できます。
ZoneOffsetのインスタンスは、equals(java.lang.Object)を使用して比較される必要があります。 実装は一部の共通オフセットをキャッシュすることを選択できますが、アプリケーションはそのようなキャッシュに依存してはいけません。
これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 比較する場合は、equalsメソッドを使用することをお薦めします。
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final ZoneOffsetサポートされる最大オフセットの定数です。static final ZoneOffsetサポートされている最小オフセットの定数。static final ZoneOffsetUTC用のタイムゾーン・オフセット(IDがZ)。 -
メソッドのサマリー
修飾子と型メソッド説明adjustInto(Temporal temporal) 指定された時間的オブジェクトをこのオブジェクトと同じオフセットになるように調整します。intcompareTo(ZoneOffset other) このオフセットを別のオフセットと降順で比較します。booleanこのオフセットが別のオフセットと等しいかどうかをチェックします。static ZoneOffsetfrom(TemporalAccessor temporal) 時間的オブジェクトからZoneOffsetのインスタンスを取得します。intget(TemporalField field) このオフセットから指定されたフィールドの値をintとして取得します。getId()正規化されたゾーン・オフセットIDを取得します。longgetLong(TemporalField field) このオフセットから指定されたフィールドの値をlongとして取得します。getRules()関連付けられたタイムゾーン・ルールを取得します。int合計ゾーン・オフセットを秒で取得します。inthashCode()このオフセットのハッシュ・コード。booleanisSupported(TemporalField field) 指定されたフィールドがサポートされているかどうかをチェックします。static ZoneOffsetIDを使用してZoneOffsetのインスタンスを取得します。static ZoneOffsetofHours(int hours) オフセット(時)を使用してZoneOffsetのインスタンスを取得します。static ZoneOffsetofHoursMinutes(int hours, int minutes) オフセット(時と分)を使用してZoneOffsetのインスタンスを取得します。static ZoneOffsetofHoursMinutesSeconds(int hours, int minutes, int seconds) オフセット(時、分および秒)を使用してZoneOffsetのインスタンスを取得します。static ZoneOffsetofTotalSeconds(int totalSeconds) 合計オフセット(秒)を指定してZoneOffsetのインスタンスを取得します。<R> Rquery(TemporalQuery<R> query) 指定された問合せを使用してこのオフセットを問い合せます。range(TemporalField field) 指定されたフィールドの有効な値の範囲を取得します。toString()正規化IDを使用して、このオフセットをStringとして出力します。クラスjava.time.ZoneIdで宣言されたメソッド
getAvailableZoneIds, getDisplayName, normalized, of, ofOffset, systemDefault
-
フィールド詳細
-
UTC
public static final ZoneOffset UTCUTC用のタイムゾーン・オフセット(IDがZ)。 -
MIN
public static final ZoneOffset MINサポートされている最小オフセットの定数。 -
MAX
public static final ZoneOffset MAXサポートされる最大オフセットの定数です。
-
-
メソッドの詳細
-
of
public static ZoneOffset of(String offsetId) IDを使用してZoneOffsetのインスタンスを取得します。このメソッドは
ZoneOffsetの文字列IDを解析してインスタンスを返します。 解析は、getId()によって生成されるすべてのフォーマットと、いくつかの追加フォーマットを受け入れます。Z- UTC用+h+hh+hh:mm-hh:mm+hhmm-hhmm+hh:mm:ss-hh:mm:ss+hhmmss-hhmmss
返されるオフセットのIDは、
getId()によって記述されるフォーマットのいずれかに正規化されます。サポートされる最大範囲は+18:00から-18:00(これを含む)です。
- パラメータ:
offsetId- オフセットID、nullでない- 戻り値:
- ゾーン・オフセット、nullでない
- スロー:
DateTimeException- オフセットが無効な場合。
-
ofHours
public static ZoneOffset ofHours(int hours) オフセット(時)を使用してZoneOffsetのインスタンスを取得します。- パラメータ:
hours- タイムゾーン・オフセット(時)、-18から+18- 戻り値:
- ゾーン・オフセット、nullでない
- スロー:
DateTimeException- オフセットが要求範囲にない場合
-
ofHoursMinutes
public static ZoneOffset ofHoursMinutes(int hours, int minutes) オフセット(時と分)を使用してZoneOffsetのインスタンスを取得します。時間および分コンポーネントの記号は一致する必要があります。 つまり、時が負の場合は、分は負またはゼロである必要があります。 時がゼロの場合は、分は正、負またはゼロが許可されます。
- パラメータ:
hours- タイムゾーン・オフセット(時)、-18から+18minutes- タイムゾーン・オフセット(分)、-0から±59、記号は時と一致- 戻り値:
- ゾーン・オフセット、nullでない
- スロー:
DateTimeException- オフセットが要求範囲にない場合
-
ofHoursMinutesSeconds
public static ZoneOffset ofHoursMinutesSeconds(int hours, int minutes, int seconds) オフセット(時、分および秒)を使用してZoneOffsetのインスタンスを取得します。時、分および秒コンポーネントの記号は一致する必要があります。 つまり、時が負である場合、分と秒は負またはゼロである必要があります。
- パラメータ:
hours- タイムゾーン・オフセット(時)、-18から+18minutes- タイムゾーン・オフセット(分)、-0から±59、記号は時および秒と一致seconds- タイムゾーン・オフセット(秒)、-0から±59、記号は時および分と一致- 戻り値:
- ゾーン・オフセット、nullでない
- スロー:
DateTimeException- オフセットが要求範囲にない場合
-
from
public static ZoneOffset from(TemporalAccessor temporal) 時間的オブジェクトからZoneOffsetのインスタンスを取得します。これは、指定された時間的オブジェクトに基づくオフセットを取得します。
TemporalAccessorは日付および時間情報の任意セットを表し、それをこのファクトリがZoneOffsetのインスタンスに変換します。TemporalAccessorは日付および時間情報のなんらかの形式を表します。 このファクトリは、任意の時間的オブジェクトをZoneOffsetのインスタンスに変換します。変換は、
OFFSET_SECONDSフィールドを抽出することに依存する、TemporalQueries.offset()問合せを使用します。このメソッドは関数型インタフェース
TemporalQueryのシグネチャに一致するため、メソッド参照ZoneOffset::fromを介して、問合せとして使用できます。- パラメータ:
temporal- 変換する一時オブジェクト、null以外- 戻り値:
- ゾーン・オフセット、nullでない
- スロー:
DateTimeException-ZoneOffsetに変換できない場合
-
ofTotalSeconds
public static ZoneOffset ofTotalSeconds(int totalSeconds) 合計オフセット(秒)を指定してZoneOffsetのインスタンスを取得します。オフセットは、
-18:00から+18:00の範囲(-64800から+64800に対応)内である必要があります。- パラメータ:
totalSeconds- 合計タイムゾーン・オフセット(秒)、-64800から+64800- 戻り値:
- ZoneOffset、nullでない
- スロー:
DateTimeException- オフセットが要求範囲にない場合
-
getTotalSeconds
public int getTotalSeconds()合計ゾーン・オフセットを秒で取得します。これは、オフセット量にアクセスするための主要な方法です。 時、分および秒の各フィールドの合計を、時間に追加できる単一オフセットとして返します。
- 戻り値:
- 合計ゾーン・オフセット量(秒)
-
getId
public String getId()正規化されたゾーン・オフセットIDを取得します。IDは、オフセット用の標準ISO-8601書式文字列とわずかに異なります。 3つのフォーマットがあります。
Z- UTC用(ISO-8601)+hh:mmまたは-hh:mm- 秒がゼロの場合(ISO-8601)+hh:mm:ssまたは-hh:mm:ss- 秒がゼロでない場合(非ISO-8601)
-
getRules
public ZoneRules getRules()関連付けられたタイムゾーン・ルールを取得します。ルールは常に、照会時にこのオフセットを返します。 実装クラスは不変、スレッドセーフ、直列化可能です。
-
isSupported
public boolean isSupported(TemporalField field) 指定されたフィールドがサポートされているかどうかをチェックします。これは、指定されたフィールドについてこのオフセットを照会できるかどうかをチェックします。 falseの場合、
rangeメソッドとgetメソッドを呼び出すと例外がスローされます。フィールドが
ChronoFieldの場合、ここに問合せを実装します。OFFSET_SECONDSフィールドはtrueを返します。 他のすべてのChronoFieldインスタンスはfalseを返します。フィールドが
ChronoFieldでない場合、このメソッドの結果は、thisを引数として渡してTemporalField.isSupportedBy(TemporalAccessor)を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。- 定義:
- インタフェース
TemporalAccessorのisSupported - パラメータ:
field- チェックするフィールド、nullはfalseを返す- 戻り値:
- フィールドがこのオフセットでサポートされている場合はtrue、そうでない場合はfalse
-
range
public ValueRange range(TemporalField field) 指定されたフィールドの有効な値の範囲を取得します。範囲オブジェクトはフィールドの有効な最小値と最大値を表します。 このオフセットは、返される範囲の精度を上げるために使用されます。 範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoFieldの場合、ここに問合せを実装します。サポートされるフィールドは適切な範囲のインスタンスを返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが
ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.rangeRefinedBy(TemporalAccessor)を呼び出すことにより取得されます。 範囲を取得できるかどうかはフィールドによって決まります。- 定義:
- インタフェース
TemporalAccessorのrange - パラメータ:
field- 範囲を問い合わせるフィールド、null以外- 戻り値:
- フィールドの有効値の範囲。null以外
- スロー:
DateTimeException- フィールドの範囲を取得できない場合UnsupportedTemporalTypeException- フィールドがサポートされていない場合
-
get
public int get(TemporalField field) このオフセットから指定されたフィールドの値をintとして取得します。これは、指定されたフィールドの値についてこのオフセットに問い合せます。 返される値は常にフィールドの値の有効な範囲内になります。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoFieldの場合、ここに問合せを実装します。OFFSET_SECONDSフィールドはオフセットの値を返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが
ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessorのget - パラメータ:
field- 取得するフィールド、null以外- 戻り値:
- フィールドの値
- スロー:
DateTimeException- フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合UnsupportedTemporalTypeException- フィールドがサポートされていない場合、または値の範囲がintを超えている場合ArithmeticException- 数値のオーバーフローが発生した場合
-
getLong
public long getLong(TemporalField field) このオフセットから指定されたフィールドの値をlongとして取得します。これは、指定されたフィールドの値についてこのオフセットに問い合せます。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoFieldの場合、ここに問合せを実装します。OFFSET_SECONDSフィールドはオフセットの値を返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが
ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessorのgetLong - パラメータ:
field- 取得するフィールド、null以外- 戻り値:
- フィールドの値
- スロー:
DateTimeException- フィールドの値を取得できない場合UnsupportedTemporalTypeException- フィールドがサポートされていない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
query
public <R> R query(TemporalQuery<R> query) 指定された問合せを使用してこのオフセットを問い合せます。これは、指定された問合せ戦略オブジェクトを使用して、このオフセットを照会します。
TemporalQueryオブジェクトは結果を取得するために使用するロジックを定義します。 このメソッドの結果を理解するには、問合せのドキュメントをお読みください。このメソッドの結果は、
thisを引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)メソッドを呼び出すことによって取得します。- 定義:
- インタフェース
TemporalAccessorのquery - 型パラメータ:
R- 結果の型- パラメータ:
query- 呼び出す問合せ、null以外- 戻り値:
- 問合せ結果、nullが返されることがある(問合せによって定義される)
- スロー:
DateTimeException- 問い合わせできない場合(問合せによって定義される)ArithmeticException- 数値のオーバーフローが発生した場合(問合せによって定義される)
-
adjustInto
指定された時間的オブジェクトをこのオブジェクトと同じオフセットになるように調整します。これは、オフセットがこれと同じに変更された状態で、入力と同じ観察可能型の時間的オブジェクトを返します。
調整は、
ChronoField.OFFSET_SECONDSをフィールドとして渡してTemporal.with(TemporalField, long)を使用することと同等です。ほとんどのケースで、
Temporal.with(TemporalAdjuster)を使用して、呼び出しパターンを逆にすると明確になります。// these two lines are equivalent, but the second approach is recommended temporal = thisOffset.adjustInto(temporal); temporal = temporal.with(thisOffset);
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
TemporalAdjusterのadjustInto - パラメータ:
temporal- 調整するターゲット・オブジェクト、null以外- 戻り値:
- 調整されるオブジェクト、null以外
- スロー:
DateTimeException- 調整を実行できない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
compareTo
public int compareTo(ZoneOffset other) このオフセットを別のオフセットと降順で比較します。オフセットは、世界中の同じ時間に出現する順序で比較されます。 つまり、
+10:00のオフセットは、-18:00のオフセットの前に出現します(これが+09:00まで続きます)。Comparableで定義されているように、比較はequalsと一致します。- 定義:
compareTo、インタフェースComparable<ZoneOffset>- パラメータ:
other- 比較する他方の日付、null以外- 戻り値:
- コンパレータ値。このtotalSecondsが
othertotalSecondsより小さい場合はゼロ未満、等しい場合はゼロ、このtotalSecondsがothertotalSecondsより大きい場合はゼロより大きい値 - スロー:
NullPointerException-otherがnullである場合
-
equals
public boolean equals(Object obj) このオフセットが別のオフセットと等しいかどうかをチェックします。比較はオフセット量(秒)ベースです。 これはIDによる比較と同等です。
-
hashCode
public int hashCode()このオフセットのハッシュ・コード。 -
toString
public String toString()正規化IDを使用して、このオフセットをStringとして出力します。
-