語言

DateTimeFormatter.WithResolverFields 方法

定義

多載

名稱 Description
WithResolverFields(ITemporalField[])

回傳一份包含新解析器欄位的格式化器副本。

WithResolverFields(ICollection<ITemporalField>)

回傳一份包含新解析器欄位的格式化器副本。

WithResolverFields(ITemporalField[])

回傳一份包含新解析器欄位的格式化器副本。

[Android.Runtime.Register("withResolverFields", "([Ljava/time/temporal/TemporalField;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)]
public Java.Time.Format.DateTimeFormatter? WithResolverFields(params Java.Time.Temporal.ITemporalField[]? resolverFields);
[<Android.Runtime.Register("withResolverFields", "([Ljava/time/temporal/TemporalField;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)>]
member this.WithResolverFields : Java.Time.Temporal.ITemporalField[] -> Java.Time.Format.DateTimeFormatter

參數

resolverFields
ITemporalField[]

解析器欄位要使用,若無解析器欄位則為空

傳回

基於此格式化器,包含請求的解析器欄位,而非 null

屬性

備註

解析場限制解析階段所使用的場。

適用於

WithResolverFields(ICollection<ITemporalField>)

回傳一份包含新解析器欄位的格式化器副本。

[Android.Runtime.Register("withResolverFields", "(Ljava/util/Set;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)]
public Java.Time.Format.DateTimeFormatter? WithResolverFields(System.Collections.Generic.ICollection<Java.Time.Temporal.ITemporalField>? resolverFields);
[<Android.Runtime.Register("withResolverFields", "(Ljava/util/Set;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)>]
member this.WithResolverFields : System.Collections.Generic.ICollection<Java.Time.Temporal.ITemporalField> -> Java.Time.Format.DateTimeFormatter

參數

resolverFields
ICollection<ITemporalField>

新的解析器欄位集合,若沒有欄位則為空

傳回

基於此格式化器,並採用所要求的解析器樣式,而非 Null 格式

屬性

備註

回傳一份包含新解析器欄位的格式化器副本。

此時會回傳一個與此格式器狀態相似但解析器欄位設定為類似的格式化器。 預設情況下,格式化器沒有解析器欄位。

改變解析器欄位只會在解析過程中產生影響。 解析文字字串分為兩個階段。 第一階段是根據建構器新增欄位進行基本的文字解析。 第二階段將解析後的欄位值對解析為日期和/或時間物件。 解析器場用於過濾第一階段與第二階段之間的場值對。

這可以用來選擇兩種或多種解決日期或時間的方式。 例如,如果格式表包含年份、月份、日期和年份,則有兩種方式來解析日期。 將此方法與參數 ChronoField#YEAR YEARChronoField#DAY_OF_YEAR DAY_OF_YEAR 並結合,將確保日期以年份和年份日來解析,實際上在解決階段忽略月份和月份日期。

同樣地,此方法也可用來忽略原本會交叉檢查的次要欄位。 例如,若格式化器包含年份、月份、月日和週日,則只有一種方法可以解析日期,但解析後的星期數值會與已解決日期交叉比對。 將此方法呼叫並使用參數 ChronoField#YEAR YEARChronoField#MONTH_OF_YEAR MONTH_OF_YEARChronoField#DAY_OF_MONTH DAY_OF_MONTH 可確保日期正確解析,但不會交叉檢查星期幾。

在實作層面上,此方法的行為如下。 解析階段的結果可視為場與值的映射。 此方法的行為是使該映射在第一階段與第二階段之間被過濾,移除除此方法參數外的所有欄位。

此實例是不可變且不受此方法呼叫影響的。

Java 文件 java.time.format.DateTimeFormatter.withResolverFields(java.util.Set<java.time.temporal.TemporalField>)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於