DateTimeFormatter.WithResolverFields 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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 之间进行筛选,删除除指定为此方法参数以外的所有字段。
此实例不可变,不受此方法调用影响。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。