Language

ChronoField.RangeRefinedBy(ITemporalAccessor) メソッド

定義

テンポラル オブジェクトを使用して結果を絞り込み、このフィールドの有効な値の範囲を取得します。

[Android.Runtime.Register("rangeRefinedBy", "(Ljava/time/temporal/TemporalAccessor;)Ljava/time/temporal/ValueRange;", "", ApiSince=26)]
public Java.Time.Temporal.ValueRange? RangeRefinedBy(Java.Time.Temporal.ITemporalAccessor? temporal);
[<Android.Runtime.Register("rangeRefinedBy", "(Ljava/time/temporal/TemporalAccessor;)Ljava/time/temporal/ValueRange;", "", ApiSince=26)>]
abstract member RangeRefinedBy : Java.Time.Temporal.ITemporalAccessor -> Java.Time.Temporal.ValueRange
override this.RangeRefinedBy : Java.Time.Temporal.ITemporalAccessor -> Java.Time.Temporal.ValueRange

パラメーター

temporal
ITemporalAccessor

結果を絞り込むために使用されるテンポラル オブジェクト (null ではない)

返品

null ではなく、このフィールドの有効な値の範囲

実装

属性

注釈

テンポラル オブジェクトを使用して結果を絞り込み、このフィールドの有効な値の範囲を取得します。 これにより、テンポラル オブジェクトを使用して、フィールドの有効な値の範囲が検索されます。 これは TemporalField.range() に似ていますが、このメソッドはテンポラルを使用して結果を調整します。 たとえば、フィールドがDAY_OF_MONTH場合、28 日、29 日、30 日、31 日の 4 つの月の長さがあるため、範囲メソッドは正確ではありません。 このメソッドを日付と共に使用すると、範囲を正確に指定でき、これら 4 つのオプションのうち 1 つだけが返されます。 このメソッドを使用する 2 つの同等の方法があります。 1 つ目は、このメソッドを直接呼び出す方法です。 2 つ目は、TemporalAccessor.range(TemporalField) を使用することです。

// these two lines are equivalent, but the second approach is recommended
temporal = thisField.rangeRefinedBy(temporal);
temporal = temporal.range(thisField);

2 番目のアプローチである range(TemporalField) を使用することをお勧めします。コードで読む方がわかりやすいためです。 実装では、ChronoField で使用できるフィールドを使用して、クエリまたは計算を実行する必要があります。 フィールドがサポートされていない場合は、UnsupportedTemporalTypeException をスローする必要があります。

Javaリファレンス。

適用対象