モジュール java.base
パッケージ 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 compareTo​(ZoneOffsetTransition transition)
      遷移時点に基づいてこの遷移を他方の遷移を比較します。
      boolean equals​(Object other)
      このオブジェクトと他方のオブジェクトが等しいかどうかを確認します。
      LocalDateTime getDateTimeAfter()
      後オフセットで表現されるような、ローカル遷移日付/時間を取得します。
      LocalDateTime getDateTimeBefore()
      前オフセットで表現されるような、ローカル遷移日付/時間を取得します。
      Duration getDuration()
      遷移のデュレーションを取得します。
      Instant getInstant()
      遷移インスタントを取得します。
      ZoneOffset getOffsetAfter()
      遷移後のオフセットを取得します。
      ZoneOffset getOffsetBefore()
      遷移前のオフセットを取得します。
      int hashCode()
      適切なハッシュ・コードを返します。
      boolean isGap()
      この遷移がローカル時系列でギャップを表しているか。
      boolean isOverlap()
      この遷移がローカル時系列で重複を表しているか。
      boolean isValidOffset​(ZoneOffset offset)
      指定されたオフセットがこの遷移中に有効であるかどうかを確認します。
      static ZoneOffsetTransition of​(LocalDateTime transition, ZoneOffset offsetBefore, ZoneOffset offsetAfter)
      2つのオフセット間の遷移を定義するインスタンスを取得します。
      long toEpochSecond()
      遷移時点をepoch秒として取得します。
      String toString()
      このオブジェクトを説明する文字列を返します。
    • メソッドの詳細

      • 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
      • toString

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