語言

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

用來精煉結果的時間物件,而非零物件

傳回

此欄位的有效值範圍,而非空值

實作

屬性

備註

利用時間物件取得該欄位有效值範圍,以精煉結果。 此方法利用時間物件來尋找場的有效值範圍。 這與 TemporalField.range( 類似),但此方法利用 temporal 來精煉結果。 例如,如果場DAY_OF_MONTH,距離法不準確,因為有四種可能的月份長度:28、29、30 和 31 天。 使用這種方法搭配日期可以讓範圍準確,只返回這四個選項中的一個。 使用此方法有兩種等效方式。 第一種是直接引用此方法。 第二種是使用 TemporalAccessor.range(TemporalField):

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

建議使用第二種方法,範圍(TemporalField),因為在程式碼中閱讀起來更清晰。 實作應使用ChronoField中可用的欄位來執行任何查詢或計算。 若欄位不被支援,必須拋出 UnsupportedTemporalTypeException。

Java 參考 java.time.temporal.ChronoField.rangeRefinedBy。

適用於