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

インタフェースChronoZonedDateTime<D extends ChronoLocalDate>

  • 型パラメータ:
    D - この日付/時間の日付の具象型
    すべてのスーパー・インタフェース:
    Comparable<ChronoZonedDateTime<?>>, Temporal, TemporalAccessor
    既知のすべての実装クラス:
    ZonedDateTime


    public interface ChronoZonedDateTime<D extends ChronoLocalDate>
    extends Temporal, Comparable<ChronoZonedDateTime<?>>
    任意の暦のタイムゾーン付きの日付/時間、高度なグローバリゼーション・ユース・ケース向けです。

    ほとんどのアプリケーションでは、メソッド・シグネチャ、フィールド、および変数をこのインタフェースではなく、ZonedDateTimeとして宣言してください。

    ChronoZonedDateTimeは、Chronology chronologyまたは暦体系がプラグイン可能な場合のオフセットの日付/時間の抽象表現です。 日付/時間はTemporalFieldによって表されるフィールドの形で定義され、ほとんどの一般的な実装がChronoFieldに定義されます。 暦は暦体系の動作と標準フィールドの意味を定義します。

    このインタフェースを使用するタイミング

    アプリケーションで複数の暦体系を処理する必要がある場合でも、APIの設計では、このインタフェースよりZonedDateTimeの使用が推奨されます。 この理由については、ChronoLocalDateで詳しく説明しています。

    このインタフェースを使用する前に、ChronoLocalDateの説明を読み、理解しておいてください。

    実装要件:
    このインタフェースは、他のクラスが正常に動作するように、注意して実装する必要があります。 インスタンス化可能なすべての実装は、最終、不変、およびスレッドセーフである必要があります。 サブクラスは、可能であれば直列化可能にしてください。
    導入されたバージョン:
    1.8
    • メソッドのサマリー

      すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 
      修飾子と型 メソッド 説明
      default int compareTo​(ChronoZonedDateTime<?> other)
      暦を含めて、この日付/時間を別の日付/時間と比較します。
      boolean equals​(Object obj)
      この日付/時間が別の日付/時間と等しいかどうかをチェックします。
      default String format​(DateTimeFormatter formatter)
      指定されたフォーマッタを使用してこの日付/時間を書式設定します。
      static ChronoZonedDateTime<?> from​(TemporalAccessor temporal)
      時間的オブジェクトからChronoZonedDateTimeのインスタンスを取得します。
      default int get​(TemporalField field)
      指定されたフィールドの値をintとして取得します。
      default Chronology getChronology​()
      この日付/時間の暦を取得します。
      default long getLong​(TemporalField field)
      指定されたフィールドの値をlongとして取得します。
      ZoneOffset getOffset​()
      「+01:00」などのゾーン・オフセットを取得します。
      ZoneId getZone​()
      「Europe/Paris」などのゾーンIDを取得します。
      int hashCode​()
      この日付/時間のハッシュ・コード。
      default boolean isAfter​(ChronoZonedDateTime<?> other)
      この日付/時間のインスタントが、指定された日付/時間のインスタントより後であるかどうかをチェックします。
      default boolean isBefore​(ChronoZonedDateTime<?> other)
      この日付/時間のインスタントが、指定された日付/時間のインスタントより前であるかどうかをチェックします。
      default boolean isEqual​(ChronoZonedDateTime<?> other)
      この日付/時間のインスタントが、指定された日付/時間のインスタントと等しいかどうかをチェックします。
      boolean isSupported​(TemporalField field)
      指定されたフィールドがサポートされているかどうかをチェックします。
      default boolean isSupported​(TemporalUnit unit)
      指定された単位がサポートされているかどうかをチェックします。
      default ChronoZonedDateTime<D> minus​(long amountToSubtract, TemporalUnit unit)
      指定された期間を減算して、このオブジェクトと同じ型のオブジェクトを返します。
      default ChronoZonedDateTime<D> minus​(TemporalAmount amount)
      量を減算して、このオブジェクトと同じ型のオブジェクトを返します。
      ChronoZonedDateTime<D> plus​(long amountToAdd, TemporalUnit unit)
      このオブジェクトと同じ型のオブジェクトに指定された期間を追加したものを返します。
      default ChronoZonedDateTime<D> plus​(TemporalAmount amount)
      このオブジェクトと同じ型のオブジェクトにある時間を追加したものを返します。
      default <R> R query​(TemporalQuery<R> query)
      指定された問合せを使用してこの日付/時間を問い合わせます。
      default ValueRange range​(TemporalField field)
      指定されたフィールドの有効な値の範囲を取得します。
      static Comparator<ChronoZonedDateTime<?>> timeLineOrder​()
      暦を無視して時系列順にChronoZonedDateTimeを比較するコンパレータを取得します。
      default long toEpochSecond​()
      この日付/時間を、エポック(1970-01-01T00:00:00Z)からの秒数に変換します。
      default Instant toInstant​()
      この日付/時間をInstantに変換します。
      default D toLocalDate​()
      この日付/時間のローカル日付部分を取得します。
      ChronoLocalDateTime<D> toLocalDateTime​()
      この日付/時間のローカルの日付/時間部分を取得します。
      default LocalTime toLocalTime​()
      この日付/時間のローカル・タイム部分を取得します。
      String toString​()
      この日付/時間をStringとして出力します。
      default ChronoZonedDateTime<D> with​(TemporalAdjuster adjuster)
      調整を行って、このオブジェクトと同じ型の調整済のオブジェクトを返します。
      ChronoZonedDateTime<D> with​(TemporalField field, long newValue)
      指定されたフィールドを変更して、このオブジェクトと同じ型のオブジェクトを返します。
      ChronoZonedDateTime<D> withEarlierOffsetAtOverlap​()
      ゾーン・オフセットを、ローカル時系列のオーバーラップ時における2つの有効なオフセットのうちの早い方に変更して、この日付/時間のコピーを返します。
      ChronoZonedDateTime<D> withLaterOffsetAtOverlap​()
      ゾーン・オフセットを、ローカル時系列のオーバーラップ時における2つの有効なオフセットのうちの遅い方に変更して、この日付/時間のコピーを返します。
      ChronoZonedDateTime<D> withZoneSameInstant​(ZoneId zone)
      インスタントを保持したまま、別のタイムゾーンを使ってこの日付/時間のコピーを返します。
      ChronoZonedDateTime<D> withZoneSameLocal​(ZoneId zone)
      可能であればローカル日付/時間を保持したまま、別のタイムゾーンを使って、この日付/時間のコピーを返します。
      • インタフェースjava.time.temporal.Temporalから継承されたメソッド

        until
    • メソッドの詳細

      • from

        static ChronoZonedDateTime<?> from​(TemporalAccessor temporal)
        時間的オブジェクトからChronoZonedDateTimeのインスタンスを取得します。

        これは、指定された時間的オブジェクトに基づいてゾーン付きの日付/時間を作成します。 TemporalAccessorは任意の日付と時間情報のセットを表し、このファクトリがChronoZonedDateTimeのインスタンスに変換します。

        変換では、時間的オブジェクトから暦、日付、時間、ゾーンを抽出し、組み合わせます。 この動作は、抽出された暦でChronology.zonedDateTime(TemporalAccessor)を使用する場合と同等です。 実装では、関連オブジェクトと同等のそれらのフィールドにアクセスするなどの最適化を実行することが許可されます。

        このメソッドは関数型インタフェースTemporalQueryのシグネチャに一致するため、メソッド参照ChronoZonedDateTime::fromを介して、問合せとして使用できます。

        パラメータ:
        temporal - 変換する一時オブジェクト、null以外
        戻り値:
        日付/時間、null以外
        例外:
        DateTimeException - ChronoZonedDateTimeに変換できない場合
        関連項目:
        Chronology.zonedDateTime(TemporalAccessor)
      • range

        default ValueRange range​(TemporalField field)
        次のインタフェースからコピーされた説明: TemporalAccessor
        指定されたフィールドの有効な値の範囲を取得します。

        すべてのフィールドはlong整数で表現できます。 このメソッドは、その値の有効範囲を記述するオブジェクトを返します。 この時間的オブジェクトの値は、返される範囲の精度を向上するために使われます。 フィールドがサポートされていないか、他の何らかの理由で、日付/時間で範囲を返すことができない場合、例外がスローされます。

        結果は有効な最小値と最大値を記述しているだけなので、それらを深く解釈しすぎないことが重要です。 たとえば、範囲内の値であっても、フィールドに対して無効な場合があります。

        定義:
        インタフェースTemporalAccessorrange
        パラメータ:
        field - 範囲を問い合わせるフィールド、null以外
        戻り値:
        フィールドの有効値の範囲。null以外
      • get

        default int get​(TemporalField field)
        次のインタフェースからコピーされた説明: TemporalAccessor
        指定されたフィールドの値をintとして取得します。

        これは、指定されたフィールドの値について日付/時間に問い合せます。 返される値は常にフィールドの値の有効な範囲内になります。 フィールドがサポートされていないか、他の何らかの理由で、日付/時間で値を返すことができない場合、例外がスローされます。

        定義:
        インタフェースTemporalAccessorget
        パラメータ:
        field - 取得するフィールド、null以外
        戻り値:
        フィールドの値、値の有効な範囲内
      • getLong

        default long getLong​(TemporalField field)
        次のインタフェースからコピーされた説明: TemporalAccessor
        指定されたフィールドの値をlongとして取得します。

        これは、指定されたフィールドの値について日付/時間に問い合せます。 返される値はフィールドに有効な値の範囲外になることがあります。 フィールドがサポートされていないか、他の何らかの理由で、日付/時間で値を返すことができない場合、例外がスローされます。

        定義:
        インタフェースTemporalAccessorgetLong
        パラメータ:
        field - 取得するフィールド、null以外
        戻り値:
        フィールドの値
      • toLocalDate

        default D toLocalDate​()
        この日付/時間のローカル日付部分を取得します。

        これは、この日付/時間と同じ年、月、および日のローカル日付を返します。

        戻り値:
        日付/時間の日付部分、null以外
      • toLocalTime

        default LocalTime toLocalTime​()
        この日付/時間のローカル・タイム部分を取得します。

        これは、この日付/時間と同じ時間、分、秒、およびナノ秒のローカル・タイムを返します。

        戻り値:
        日付/時間の時間部分、null以外
      • toLocalDateTime

        ChronoLocalDateTime<D> toLocalDateTime​()
        この日付/時間のローカルの日付/時間部分を取得します。

        これは、この日付/時間と同じ年、月、および日のローカル日付を返します。

        戻り値:
        この日付/時間のローカル日付/時間部分、null以外
      • getChronology

        default Chronology getChronology​()
        この日付/時間の暦を取得します。

        Chronologyは使用中の暦体系を表します。 ChronoFieldの紀元およびその他のフィールドは暦によって定義されます。

        戻り値:
        暦、null以外
      • getOffset

        ZoneOffset getOffset​()
        「+01:00」などのゾーン・オフセットを取得します。

        これはUTC/グリニッジからのローカル日付/時間のオフセットです。

        戻り値:
        ゾーン・オフセット、null以外
      • getZone

        ZoneId getZone​()
        「Europe/Paris」などのゾーンIDを取得します。

        これはタイムゾーン・ルールの決定に使用される保存されたタイムゾーンIDを返します。

        戻り値:
        ゾーンID、null以外
      • withEarlierOffsetAtOverlap

        ChronoZonedDateTime<D> withEarlierOffsetAtOverlap​()
        ゾーン・オフセットを、ローカル時系列のオーバーラップ時における2つの有効なオフセットのうちの早い方に変更して、この日付/時間のコピーを返します。

        このメソッドは、秋の夏時間の切換え時など、ローカル時系列の重複時にのみ何らかの影響があります。 このシナリオでは、ローカル日付/時間に2つの有効なオフセットがあります。 このメソッドを呼び出すと、2つのうちの早い方が選択されて、ゾーン付きの日付/時間を返します。

        このメソッドが、重複していない場合に呼び出された場合、thisが返されます。

        このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

        戻り値:
        早い方のオフセットのこの日付/時間に基づいたChronoZonedDateTime、null以外
        例外:
        DateTimeException - ゾーンのルールが見つからない場合
        DateTimeException - この日付/時間で有効なルールがない場合
      • withLaterOffsetAtOverlap

        ChronoZonedDateTime<D> withLaterOffsetAtOverlap​()
        ゾーン・オフセットを、ローカル時系列のオーバーラップ時における2つの有効なオフセットのうちの遅い方に変更して、この日付/時間のコピーを返します。

        このメソッドは、秋の夏時間の切換え時など、ローカル時系列の重複時にのみ何らかの影響があります。 このシナリオでは、ローカル日付/時間に2つの有効なオフセットがあります。 このメソッドを呼び出すと、2つのうちの遅い方が選択されて、ゾーン付きの日付/時間を返します。

        このメソッドが、重複していない場合に呼び出された場合、thisが返されます。

        このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

        戻り値:
        遅い方のオフセットのこの日付/時間に基づいたChronoZonedDateTime、null以外
        例外:
        DateTimeException - ゾーンのルールが見つからない場合
        DateTimeException - この日付/時間で有効なルールがない場合
      • withZoneSameLocal

        ChronoZonedDateTime<D> withZoneSameLocal​(ZoneId zone)
        可能であればローカル日付/時間を保持したまま、別のタイムゾーンを使って、この日付/時間のコピーを返します。

        このメソッドはタイムゾーンを変更し、ローカル日付/時間を保持します。 ローカル日付/時間は、それが新しいゾーンで無効な場合にのみ変更されます。

        ソーンを変更し、ローカル日付/時間を調整するには、withZoneSameInstant(ZoneId)を使用します。

        このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

        パラメータ:
        zone - 変更先のタイムゾーン、null以外
        戻り値:
        要求されたゾーンのこの日付/時間に基づいたChronoZonedDateTime、null以外
      • withZoneSameInstant

        ChronoZonedDateTime<D> withZoneSameInstant​(ZoneId zone)
        インスタントを保持したまま、別のタイムゾーンを使ってこの日付/時間のコピーを返します。

        このメソッドはタイムゾーンを変更し、インスタントを保持します。 これは通常ローカル日付/時間に変更されます。

        このメソッドは、同じインスタントを保持することに基づくため、ローカル時系列のギャップと重複は結果に影響しません。

        ローカル時間を維持しながら、オフセットを変更するには、withZoneSameLocal(ZoneId)を使用します。

        パラメータ:
        zone - 変更先のタイムゾーン、null以外
        戻り値:
        要求されたゾーンのこの日付/時間に基づいたChronoZonedDateTime、null以外
        例外:
        DateTimeException - 結果がサポートされている日付範囲を超える場合
      • isSupported

        boolean isSupported​(TemporalField field)
        指定されたフィールドがサポートされているかどうかをチェックします。

        これは、指定されたフィールドをこの日付/時間で問い合わせできるかどうかをチェックします。 falseの場合、rangeget、およびwith(TemporalField, long)メソッドの呼び出しは、例外をスローします。

        一連のサポートされるフィールドは、暦によって定義され、通常すべてのChronoFieldフィールドを含みます。

        フィールドがChronoFieldでない場合、このメソッドの結果は、thisを引数として渡してTemporalField.isSupportedBy(TemporalAccessor)を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。

        定義:
        インタフェースTemporalAccessorisSupported
        パラメータ:
        field - チェックするフィールド、nullはfalseを返す
        戻り値:
        フィールドを問い合わせできる場合はtrue、そうでない場合はfalse
      • isSupported

        default boolean isSupported​(TemporalUnit unit)
        指定された単位がサポートされているかどうかをチェックします。

        これは、指定された単位をこの日付/時間に加算または減算できるかどうかをチェックします。 falseの場合、plus(long, TemporalUnit)およびminusメソッドの呼び出しは、例外をスローします。

        一連のサポートされる単位は、暦によって定義され、通常、FOREVERを除くすべてのChronoUnit単位を含みます。

        単位がChronoUnitでない場合、このメソッドの結果は、thisを引数として渡してTemporalUnit.isSupportedBy(Temporal)を呼び出すことによって取得します。 単位がサポートされているかどうかは単位によって決定します。

        定義:
        インタフェースTemporalisSupported
        パラメータ:
        unit - チェックする単位、nullはfalseを返す
        戻り値:
        単位を加算/減算できる場合はtrue、できない場合はfalse
      • with

        default ChronoZonedDateTime<D> with​(TemporalAdjuster adjuster)
        調整を行って、このオブジェクトと同じ型の調整済のオブジェクトを返します。

        これは、指定されたアジャスタのルールに従って、この日付/時間を調整します。 単純なアジャスタは、年フィールドなどの1つのフィールドだけを設定するなどです。 複雑なアジャスタは、日付を月の最後の日に設定するなどです。 一般的な調整の選択は、TemporalAdjustersで指定します。 これらには、「月の最後の日」や「次の水曜日」を見つけることが含まれます。 アジャスタは、さまざまな長さの月やうるう年などの特別なケースの処理を担当します。

        このメソッドを使用する方法と理由を示すいくつかのサンプル・コード:

          date = date.with(Month.JULY);        // most key classes implement TemporalAdjuster
          date = date.with(lastDayOfMonth());  // static import from Adjusters
          date = date.with(next(WEDNESDAY));   // static import from Adjusters and DayOfWeek
         
        定義:
        インタフェースTemporalwith
        パラメータ:
        adjuster - 使用するアジャスタ、null以外
        戻り値:
        指定された調整を行った同じ型のオブジェクト、null以外
        例外:
        DateTimeException - 調整を実行できない場合
        ArithmeticException - 数値のオーバーフローが発生した場合
      • with

        ChronoZonedDateTime<D> with​(TemporalField field,
                                    long newValue)
        指定されたフィールドを変更して、このオブジェクトと同じ型のオブジェクトを返します。

        これは、指定されたフィールドの値を変更して、このオブジェクトに基づいて新しいオブジェクトを返します。 たとえば、LocalDateで、これは年、月、または「月の日」を設定するために使用できます。 返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。

        フィールドの変更が完全には定義されていない場合もあります。 たとえば、ターゲット・オブジェクトが1月31日を表す日付である場合、月を2月に変更することは不明な場合があります。 このようなケースでは、フィールドは結果の解決を担当します。 通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。

        定義:
        インタフェースTemporalwith
        パラメータ:
        field - 結果に設定するフィールド、null以外
        newValue - 結果のフィールドの新しい値
        戻り値:
        指定されたフィールドが設定された同じ型のオブジェクト、null以外
        例外:
        DateTimeException - フィールドを設定できない場合
        ArithmeticException - 数値のオーバーフローが発生した場合
      • plus

        default ChronoZonedDateTime<D> plus​(TemporalAmount amount)
        このオブジェクトと同じ型のオブジェクトにある時間を追加したものを返します。

        これは、このtemporal (一時)を調整し、指定された量のルールに従って加算します。 この量は通常Periodですが、Durationなど、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。

        このメソッドを使用する方法と理由を示すいくつかのサンプル・コード:

          date = date.plus(period);                // add a Period instance
          date = date.plus(duration);              // add a Duration instance
          date = date.plus(workingDays(6));        // example user-written workingDays method
         

        plusの後にminusを呼び出しても、同じ日付/時間が返されることは保証されません。

        定義:
        インタフェースTemporalplus
        パラメータ:
        amount - 追加する量、null以外
        戻り値:
        指定された調整を行った同じ型のオブジェクト、null以外
        例外:
        DateTimeException - 加算できない場合
        ArithmeticException - 数値のオーバーフローが発生した場合
      • plus

        ChronoZonedDateTime<D> plus​(long amountToAdd,
                                    TemporalUnit unit)
        このオブジェクトと同じ型のオブジェクトに指定された期間を追加したものを返します。

        このメソッドは、指定された期間を加算して、このオブジェクトに基づいて新しいオブジェクトを返します。 たとえば、LocalDateで、これは年、月、または日の数を加算するために使用できます。 返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。

        フィールドの変更が完全には定義されていない場合もあります。 たとえば、ターゲット・オブジェクトが1月31日を表す日付である場合、1か月を加算することは不明な場合があります。 このようなケースでは、フィールドは結果の解決を担当します。 通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。

        定義:
        インタフェースTemporalplus
        パラメータ:
        amountToAdd - 加算する指定された単位の量、負の場合もある
        unit - 加算する量の単位、nullでない
        戻り値:
        指定された期間を加算した同じ型のオブジェクト、null以外
        例外:
        DateTimeException - 単位を加算できない場合
        ArithmeticException - 数値のオーバーフローが発生した場合
      • minus

        default ChronoZonedDateTime<D> minus​(TemporalAmount amount)
        量を減算して、このオブジェクトと同じ型のオブジェクトを返します。

        これは、このtemporal (一時)を調整し、指定された量のルールに従って減算します。 この量は通常Periodですが、Durationなど、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。

        このメソッドを使用する方法と理由を示すいくつかのサンプル・コード:

          date = date.minus(period);               // subtract a Period instance
          date = date.minus(duration);             // subtract a Duration instance
          date = date.minus(workingDays(6));       // example user-written workingDays method
         

        plusの後にminusを呼び出しても、同じ日付/時間が返されることは保証されません。

        定義:
        インタフェースTemporalminus
        パラメータ:
        amount - 減算する量、null以外
        戻り値:
        指定された調整を行った同じ型のオブジェクト、null以外
        例外:
        DateTimeException - 減算ができない場合
        ArithmeticException - 数値のオーバーフローが発生した場合
      • minus

        default ChronoZonedDateTime<D> minus​(long amountToSubtract,
                                             TemporalUnit unit)
        指定された期間を減算して、このオブジェクトと同じ型のオブジェクトを返します。

        このメソッドは、指定された期間を減算して、このオブジェクトに基づいて新しいオブジェクトを返します。 たとえば、LocalDateで、これは年、月、または日の数を減算するために使用できます。 返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。

        フィールドの変更が完全には定義されていない場合もあります。 たとえば、ターゲットオブジェクトが3月31日を表す日付である場合、1か月を減算することは不明な場合があります。 このようなケースでは、フィールドは結果の解決を担当します。 通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。

        定義:
        インタフェースTemporalminus
        パラメータ:
        amountToSubtract - 減算する指定された単位の量、負の場合もある
        unit - 減算する量の単位、nullでない
        戻り値:
        指定された期間が減算された同じ型のオブジェクト、null以外
        例外:
        DateTimeException - 単位を減算できない場合
        ArithmeticException - 数値のオーバーフローが発生した場合
      • query

        default <R> R query​(TemporalQuery<R> query)
        指定された問合せを使用してこの日付/時間を問い合わせます。

        これは指定された問合せ方法オブジェクトを使用してこの日付/時間を問い合わせます。 TemporalQueryオブジェクトは結果を取得するために使用するロジックを定義します。 このメソッドの結果を理解するには、問合せのドキュメントをお読みください。

        このメソッドの結果は、thisを引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)メソッドを呼び出すことによって取得します。

        定義:
        インタフェースTemporalAccessorquery
        型パラメータ:
        R - 結果の型
        パラメータ:
        query - 呼び出す問合せ、null以外
        戻り値:
        問合せ結果、nullが返されることがある(問合せによって定義される)
        例外:
        DateTimeException - 問い合わせできない場合(問合せによって定義される)
        ArithmeticException - 数値のオーバーフローが発生した場合(問合せによって定義される)
      • format

        default String format​(DateTimeFormatter formatter)
        指定されたフォーマッタを使用してこの日付/時間を書式設定します。

        この日付/時間はフォーマッタに渡され、文字列が生成されます。

        デフォルトの実装は次のように動作する必要があります。

          return formatter.format(this);
         
        パラメータ:
        formatter - 使用するフォーマッタ、null以外
        戻り値:
        書式設定済の日付/時間文字列、null以外
        例外:
        DateTimeException - 出力時にエラーが発生した場合
      • toInstant

        default Instant toInstant​()
        この日付/時間をInstantに変換します。

        これは、この日付/時間と同じ時系列上の時点を表すInstantを返します。 この計算は、ローカル日付/時間オフセットを組み合わせます。

        戻り値:
        同じインスタントを表すInstant、null以外
      • toEpochSecond

        default long toEpochSecond​()
        この日付/時間を、エポック(1970-01-01T00:00:00Z)からの秒数に変換します。

        これは、ローカル日付/時間オフセットを使用して、1970-01-01T00:00:00Zから経過した秒数であるエポック秒の値を計算します。 エポックより後の時系列上のインスタントは正で、それより前は負になります。

        戻り値:
        1970-01-01T00:00:00Zのエポックからの秒数
      • compareTo

        default int compareTo​(ChronoZonedDateTime<?> other)
        暦を含めて、この日付/時間を別の日付/時間と比較します。

        比較は、まずインスタントに基づき、次にローカル日付/時間、次にゾーンID、次に暦に基づきます。 Comparableに定義されているとおりに、「equalsと一致」しています。

        比較対象のすべての日付/時間オブジェクトが同じ暦にある場合、追加の暦ステージは必要ありません。

        このデフォルトの実装は、上で定義されている比較を実行します。

        定義:
        インタフェースComparable<D extends ChronoLocalDate>内のcompareTo
        パラメータ:
        other - 他の比較する日付/時間、null以外
        戻り値:
        コンパレータ値、小さい場合は負、大きい場合は正
      • isBefore

        default boolean isBefore​(ChronoZonedDateTime<?> other)
        この日付/時間のインスタントが、指定された日付/時間のインスタントより前であるかどうかをチェックします。

        このメソッドは、日付/時間のインスタントのみを比較する点で、compareTo(java.time.chrono.ChronoZonedDateTime<?>)での比較と異なります。 これは、dateTime1.toInstant().isBefore(dateTime2.toInstant());を使用する場合と同等です。

        このデフォルトの実装は、エポック秒と日のナノ秒に基づいて比較を実行します。

        パラメータ:
        other - 他の比較する日付/時間、null以外
        戻り値:
        この時点が、指定された日付/時間より前である場合はtrue
      • isAfter

        default boolean isAfter​(ChronoZonedDateTime<?> other)
        この日付/時間のインスタントが、指定された日付/時間のインスタントより後であるかどうかをチェックします。

        このメソッドは、日付/時間のインスタントのみを比較する点で、compareTo(java.time.chrono.ChronoZonedDateTime<?>)での比較と異なります。 これは、dateTime1.toInstant().isAfter(dateTime2.toInstant());を使用する場合と同等です。

        このデフォルトの実装は、エポック秒と日のナノ秒に基づいて比較を実行します。

        パラメータ:
        other - 他の比較する日付/時間、null以外
        戻り値:
        これが、指定された日付/時間より後である場合はtrue
      • isEqual

        default boolean isEqual​(ChronoZonedDateTime<?> other)
        この日付/時間のインスタントが、指定された日付/時間のインスタントと等しいかどうかをチェックします。

        このメソッドは、日付/時間のインスタントのみを比較する点で、compareTo(java.time.chrono.ChronoZonedDateTime<?>)およびequals(java.lang.Object)での比較と異なります。 これは、dateTime1.toInstant().equals(dateTime2.toInstant());を使用する場合と同等です。

        このデフォルトの実装は、エポック秒と日のナノ秒に基づいて比較を実行します。

        パラメータ:
        other - 他の比較する日付/時間、null以外
        戻り値:
        インスタントが、指定された日付/時間のインスタントと等しい場合はtrue
      • equals

        boolean equals​(Object obj)
        この日付/時間が別の日付/時間と等しいかどうかをチェックします。

        比較はオフセットの日付/時間とゾーンに基づきます。 時系列上の同じインスタントに対して比較するには、compareTo(java.time.chrono.ChronoZonedDateTime<?>)を使用します。 ChronoZonedDateTime型のオブジェクトのみが比較され、それ以外の型はfalseを返します。

        オーバーライド:
        equals、クラス: Object
        パラメータ:
        obj - チェックするオブジェクト、nullはfalseを返す
        戻り値:
        これが他の日付/時間と等しい場合はtrue
        関連項目:
        Object.hashCode()HashMap
      • toString

        String toString​()
        この日付/時間をStringとして出力します。

        出力には、完全なゾーン付きの日付/時間が含まれます。

        オーバーライド:
        toString、クラス: Object
        戻り値:
        この日付/時間の文字列表現、null以外