言語

ZonedDateTime.Until(ITemporal, ITemporalUnit) メソッド

定義

指定した単位に基づく別の日時までの時間を計算します。

[Android.Runtime.Register("until", "(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J", "", ApiSince=26)]
public long Until(Java.Time.Temporal.ITemporal? endExclusive, Java.Time.Temporal.ITemporalUnit? unit);
[<Android.Runtime.Register("until", "(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J", "", ApiSince=26)>]
abstract member Until : Java.Time.Temporal.ITemporal * Java.Time.Temporal.ITemporalUnit -> int64
override this.Until : Java.Time.Temporal.ITemporal * Java.Time.Temporal.ITemporalUnit -> int64

パラメーター

endExclusive
ITemporal

終了日 (null ではなく ZonedDateTime に変換される排他)

unit
ITemporalUnit

null ではなく、量を測定する単位

返品

この日時と終了日時の間の時間

実装

属性

注釈

指定した単位に基づく別の日時までの時間を計算します。 これにより、1 つのテンポラルユニットの観点から、2 つの ZonedDateTime オブジェクト間の時間が計算されます。 始点と終点は、これと指定された日時です。 終了が開始前の場合、結果は負になります。 たとえば、2 つの日付と時刻の間の日数は、startDateTime.until(endDateTime, DAYS) を使用して計算できます。 このメソッドに渡されたテンポラルは、from(TemporalAccessor) を使用して ZonedDateTime に変換されます。 タイム ゾーンが 2 つのゾーンの日付と時刻の間で異なる場合、指定した終了日時は、この日時と同じゾーンを持つよう正規化されます。 この計算では、2 つの日付と時刻の間の完全な単位数を表す整数が返されます。 たとえば、2012-06-15T00:00Z から 2012-08-14T23:59Z までの月単位の金額は、2 か月の 1 分足りずに 1 か月になります。 このメソッドを使用する 2 つの同等の方法があります。 1 つ目は、このメソッドを呼び出す方法です。 2 つ目は、TemporalUnit.between(テンポラル、テンポラル) を使用することです。コードをより読みやすくするために、選択を行う必要があります。 この計算は、ChronoUnit のこのメソッドで実装されます。 単位 NANOS、MICROS、MILLIS、秒、分、時間、HALF_DAYS、日、週、月、年、数十年、世紀、千年および ERAS がサポートされています。 その他の ChronoUnit 値は例外をスローします。 日付と時刻の単位の計算は異なります。 日付単位は、ローカル日時を使用して、ローカルのタイム ラインで動作します。 たとえば、1 日目の正午から翌日の正午までの期間は、夏時間の変更があったかどうかに関係なく、常に正確に 1 日としてカウントされます。 時間単位は、瞬時のタイム ラインで動作します。 この計算では、実質的に、ゾーン化された日付と時刻の両方がインスタントに変換され、その後、インスタント間の期間が計算されます。 たとえば、1 日目の正午から翌日の正午までの時間は、夏時間の変更があったかどうかに応じて、23 時間、24 時間、25 時間 (またはその他の量) になることがあります。 ユニットが ChronoUnit でない場合、このメソッドの結果は、TemporalUnit.between(テンポラル、テンポラル) を呼び出して、これを最初の引数として、変換された入力テンポラルを 2 番目の引数として渡すことによって取得されます。 このインスタンスは不変であり、このメソッド呼び出しの影響を受けません。

Javaリファレンス。

適用対象