DateTimeFormatter.WithResolverFields 方法

定义

重载

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[]

返回

属性

适用于

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

返回

基于具有所请求解析程序样式的格式化程序,而不是 null

属性

注解

返回此格式化程序的副本,其中包含一组新的解析程序字段。

这会返回一个格式化程序,其状态类似于此格式化程序,但设置了解析程序字段。 默认情况下,格式化程序没有解析程序字段。

更改解析程序字段只会在分析过程中产生效果。 分析文本字符串分为两个阶段。 阶段 1 是一个基本文本分析,根据添加到生成器的字段。 阶段 2 将分析的字段值对解析为日期和/或时间对象。 解析程序字段用于筛选阶段 1 和 2 之间的字段值对。

这可用于在解决日期或时间的两种或多种方法之间进行选择。 例如,如果格式化程序由年份、月、月和年日期组成,则可通过两种方法解决日期。 使用参数 ChronoField#YEAR YEAR 调用此方法,并确保 ChronoField#DAY_OF_YEAR DAY_OF_YEAR 使用年和年日期解析日期,这实际上意味着在解析阶段忽略月份和月数。

同样,此方法可用于忽略将进行交叉检查的辅助字段。 例如,如果格式化程序由年份、月、月和周日期组成,则只有一种方法可以解析日期,但将针对已解决的日期交叉检查一周的已分析值。 使用参数 ChronoField#YEAR YEAR调用此方法, ChronoField#MONTH_OF_YEAR MONTH_OF_YEAR 并确保 ChronoField#DAY_OF_MONTH DAY_OF_MONTH 正确解析日期,但不会对星期几进行任何交叉检查。

在实现术语中,此方法的行为如下所示。 分析阶段的结果可以视为字段到值的映射。 此方法的行为是使映射在阶段 1 和 2 之间进行筛选,删除除指定为此方法参数以外的所有字段。

此实例不可变,不受此方法调用影响。

适用于 . 的 java.time.format.DateTimeFormatter.withResolverFields(java.util.Set<java.time.temporal.TemporalField>)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于