- すべての実装されたインタフェース:
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 ZoneOffset
UTC用のタイムゾーン・オフセット(IDがZ)。 -
メソッドのサマリー
修飾子と型メソッド説明adjustInto
(Temporal temporal) 指定された時間的オブジェクトをこのオブジェクトと同じオフセットになるように調整します。int
compareTo
(ZoneOffset other) このオフセットを別のオフセットと降順で比較します。boolean
このオフセットが別のオフセットと等しいかどうかをチェックします。static ZoneOffset
from
(TemporalAccessor temporal) 時間的オブジェクトからZoneOffset
のインスタンスを取得します。int
get
(TemporalField field) このオフセットから指定されたフィールドの値をint
として取得します。getId()
正規化されたゾーン・オフセットIDを取得します。long
getLong
(TemporalField field) このオフセットから指定されたフィールドの値をlong
として取得します。getRules()
関連付けられたタイムゾーン・ルールを取得します。int
合計ゾーン・オフセットを秒で取得します。int
hashCode()
このオフセットのハッシュ・コード。boolean
isSupported
(TemporalField field) 指定されたフィールドがサポートされているかどうかをチェックします。static ZoneOffset
IDを使用してZoneOffset
のインスタンスを取得します。static ZoneOffset
ofHours
(int hours) オフセット(時)を使用してZoneOffset
のインスタンスを取得します。static ZoneOffset
ofHoursMinutes
(int hours, int minutes) オフセット(時と分)を使用してZoneOffset
のインスタンスを取得します。static ZoneOffset
ofHoursMinutesSeconds
(int hours, int minutes, int seconds) オフセット(時、分および秒)を使用してZoneOffset
のインスタンスを取得します。static ZoneOffset
ofTotalSeconds
(int totalSeconds) 合計オフセット(秒)を指定してZoneOffset
のインスタンスを取得します。<R> R
query
(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以外- 戻り値:
- コンパレータ値、小さい場合は負、大きい場合は正
- 例外:
NullPointerException
-other
がnullである場合
-
equals
public boolean equals(Object obj) このオフセットが別のオフセットと等しいかどうかをチェックします。比較はオフセット量(秒)ベースです。 これはIDによる比較と同等です。
-
hashCode
public int hashCode()このオフセットのハッシュ・コード。 -
toString
public String toString()正規化IDを使用して、このオフセットをString
として出力します。
-