モジュール java.base
パッケージ java.time.zone

クラスZoneOffsetTransition

java.lang.Object
java.time.zone.ZoneOffsetTransition
すべての実装されたインタフェース:
Serializable, Comparable<ZoneOffsetTransition>

public final class ZoneOffsetTransition extends Object implements Comparable<ZoneOffsetTransition>, Serializable
ローカル時系列内の不連続によって生じる2つのオフセット間の遷移。

2つのオフセット間の遷移は通常、サマー・タイム・カットオーバーの結果です。 不連続は通常、春ではギャップ、秋では重複です。 ZoneOffsetTransitionは2つのオフセット間の遷移をモデル化します。

ギャップは、単純に存在していないローカル日付/時間があるときに発生します。 たとえば、オフセットが+03:00から+04:00に変化した場合です。 これは、'今夜の午前1時に時計が1時間進む'と説明できます。

重複は、2回存在するローカル日付/時間がある場合に発生します。 たとえば、オフセットが+04:00から+03:00に変化した場合です。 これは、'今夜の午前2時に時計が1時間戻る'と説明できます。

実装要件:
このクラスは不変でスレッドセーフです。
導入されたバージョン:
1.8
関連項目:
直列化された形式
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    遷移時点に基づいてこの遷移を他方の遷移を比較します。
    boolean
    equals​(Object other)
    このオブジェクトと他方のオブジェクトが等しいかどうかを確認します。
    後オフセットで表現されるような、ローカル遷移日付/時間を取得します。
    前オフセットで表現されるような、ローカル遷移日付/時間を取得します。
    遷移のデュレーションを取得します。
    遷移インスタントを取得します。
    遷移後のオフセットを取得します。
    遷移前のオフセットを取得します。
    int
    適切なハッシュ・コードを返します。
    boolean
    この遷移がローカル時系列でギャップを表しているか。
    boolean
    この遷移がローカル時系列で重複を表しているか。
    boolean
    指定されたオフセットがこの遷移中に有効であるかどうかを確認します。
    of​(LocalDateTime transition, ZoneOffset offsetBefore, ZoneOffset offsetAfter)
    2つのオフセット間の遷移を定義するインスタンスを取得します。
    long
    遷移時点をepoch秒として取得します。
    このオブジェクトを説明する文字列を返します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • メソッドの詳細

    • of

      public static ZoneOffsetTransition of(LocalDateTime transition, ZoneOffset offsetBefore, ZoneOffset offsetAfter)
      2つのオフセット間の遷移を定義するインスタンスを取得します。

      アプリケーションは通常、ZoneRulesからインスタンスを取得するはずです。 このファクトリはZoneRules作成時にのみ使用されることを意図しています。

      パラメータ:
      transition - 遷移時の遷移日付/時間、実際に発生しない、前オフセットにローカルに表現される、nullでない
      offsetBefore - 遷移前のオフセット、nullでない
      offsetAfter - 遷移時以後のオフセット、nullでない
      戻り値:
      遷移、nullでない
      例外:
      IllegalArgumentException - offsetBeforeoffsetAfterが等しい、またはtransition.getNano()がゼロ以外の値を返す場合
    • getInstant

      public Instant getInstant()
      遷移インスタントを取得します。

      これは不連続の時点です('後'オフセットが適用される最初の時点として定義される)。

      メソッドgetInstant()getDateTimeBefore()およびgetDateTimeAfter()はすべて、同じインスタントを表します。

      戻り値:
      遷移時点、nullでない
    • toEpochSecond

      public long toEpochSecond()
      遷移時点をepoch秒として取得します。
      戻り値:
      遷移epoch秒
    • getDateTimeBefore

      public LocalDateTime getDateTimeBefore()
      前オフセットで表現されるような、ローカル遷移日付/時間を取得します。

      これは、'前'オフセットで表現される不連続が始まる日付/時間です。 この時点では、'後'オフセットが実際に使用されるため、この日付/時間と'前'オフセットの組み合わせは発生しません。

      '前'日付/時間とオフセットの組み合わせは、同じ時点を'後'日付/時間およびオフセットとして表現します。

      戻り値:
      前オフセットで表現される遷移日付/時間、nullでない
    • getDateTimeAfter

      public LocalDateTime getDateTimeAfter()
      後オフセットで表現されるような、ローカル遷移日付/時間を取得します。

      これは、不連続後の最初の日付/時間(新しいオフセットが適用されるとき)です。

      '前'日付/時間とオフセットの組み合わせは、同じ時点を'後'日付/時間およびオフセットとして表現します。

      戻り値:
      後オフセットで表現される遷移日付/時間、nullでない
    • getOffsetBefore

      public ZoneOffset getOffsetBefore()
      遷移前のオフセットを取得します。

      これは、遷移の時点の前に使用されているオフセットです。

      戻り値:
      遷移前のオフセット、nullでない
    • getOffsetAfter

      public ZoneOffset getOffsetAfter()
      遷移後のオフセットを取得します。

      これは、遷移時以後に使用されているオフセットです。

      戻り値:
      遷移後のオフセット、nullでない
    • getDuration

      public Duration getDuration()
      遷移のデュレーションを取得します。

      ほとんどの場合、遷移デュレーションは1時間ですが、常にそうではありません。 デュレーションは、ギャップの場合は正、重複の場合は負です。 タイムゾーンは秒ベースであるため、デュレーションのナノ秒部分はゼロになります。

      戻り値:
      遷移のデュレーション、ギャップの場合は正、重複の場合は負
    • isGap

      public boolean isGap()
      この遷移がローカル時系列でギャップを表しているか。

      ギャップは、単純に存在していないローカル日付/時間があるときに発生します。 たとえば、オフセットが+01:00から+02:00に変化した場合です。 これは、'今夜の午前1時に時計が1時間進む'と説明できます。

      戻り値:
      この遷移がギャップの場合はtrue、重複の場合はfalse
    • isOverlap

      public boolean isOverlap()
      この遷移がローカル時系列で重複を表しているか。

      重複は、2回存在するローカル日付/時間がある場合に発生します。 たとえば、オフセットが+02:00から+01:00に変化した場合です。 これは、'今夜の午前2時に時計が1時間戻る'と説明できます。

      戻り値:
      この遷移が重複の場合はtrueで、ギャップの場合はfalse
    • isValidOffset

      public boolean isValidOffset(ZoneOffset offset)
      指定されたオフセットがこの遷移中に有効であるかどうかを確認します。

      これは、指定されたオフセットが遷移のあるポイントで有効になるかどうかを確認します。 ギャップは常にfalseを返します。 前または後オフセットの場合、重複はtrueを返します。

      パラメータ:
      offset - チェック対象のオフセット、nullはfalseを返す
      戻り値:
      遷移中にオフセットが有効な場合はtrue
    • compareTo

      public int compareTo(ZoneOffsetTransition transition)
      遷移時点に基づいてこの遷移を他方の遷移を比較します。

      これは、各遷移の時点を比較します。 オフセットは無視され、この順序はequalsと一貫性がなくなります。

      定義:
      compareTo、インタフェース: Comparable<ZoneOffsetTransition>
      パラメータ:
      transition - 比較対象の遷移、nullでない
      戻り値:
      コンパレータ値、小さい場合は負、大きい場合は正
    • equals

      public boolean equals(Object other)
      このオブジェクトと他方のオブジェクトが等しいかどうかを確認します。

      オブジェクトの状態全体が比較されます。

      オーバーライド:
      equals 、クラス:  Object
      パラメータ:
      other - 比較対象の他方のオブジェクト、nullはfalseを返す
      戻り値:
      等しい場合はtrue
      関連項目:
      Object.hashCode()HashMap
    • hashCode

      public int hashCode()
      適切なハッシュ・コードを返します。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      ハッシュ・コード
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • toString

      public String toString()
      このオブジェクトを説明する文字列を返します。
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      デバッグ用の文字列、nullでない