クラス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秒として取得します。
    このオブジェクトを説明する文字列を返します。

    クラスオブジェクトで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • メソッドの詳細

    • 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 otherTransition)
      遷移時点に基づいてこの遷移を他方の遷移を比較します。

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

      定義:
      compareTo、インタフェースComparable<ZoneOffsetTransition>
      パラメータ:
      otherTransition - 比較する遷移。nullではありません
      戻り値:
      コンパレータ値(この遷移インスタントとotherTransitionインスタントとの比較)
    • equals

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

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

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

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

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