次の方法で共有


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 ではなく、このフォーマッタに基づくフォーマッタ

属性

注釈

リゾルバー フィールドの新しいセットを含むこのフォーマッタのコピーを返します。

これにより、このフォーマッタと同様の状態のフォーマッタが返されますが、リゾルバー フィールドが設定されます。 既定では、フォーマッタにはリゾルバー フィールドはありません。

リゾルバー フィールドの変更は、解析中にのみ有効です。 テキスト文字列の解析は、2 つのフェーズで行われます。 フェーズ 1 は、ビルダーに追加されたフィールドに従った基本的なテキスト解析です。 フェーズ 2 では、解析されたフィールドと値のペアが日付オブジェクトまたは時刻オブジェクトに解決されます。 リゾルバー フィールドは、フェーズ 1 とフェーズ 2 の間のフィールドと値のペアをフィルター処理するために使用されます。

これを使用して、日付または時刻を解決する 2 つ以上の方法を選択できます。 たとえば、フォーマッタが年、月、日、および年の日で構成されている場合、日付を解決する方法は 2 つあります。 引数ChronoField#YEAR YEARChronoField#DAY_OF_YEAR DAY_OF_YEARを指定してこのメソッドを呼び出すと、年と日を使用して日付が確実に解決されます。つまり、実質的には、解決フェーズ中に月と日が無視されます。

同様の方法で、このメソッドを使用して、クロスチェックされるセカンダリ フィールドを無視できます。 たとえば、フォーマッタが年、月、日、および曜日で構成されている場合、日付を解決する方法は 1 つだけですが、曜日の解析された値は解決された日付に対してクロスチェックされます。 引数 ChronoField#YEAR YEARを指定してこのメソッドを呼び出すと、 ChronoField#MONTH_OF_YEAR MONTH_OF_YEARChronoField#DAY_OF_MONTH DAY_OF_MONTH 日付が正しく解決されますが、曜日のクロスチェックは行われなくなります。

実装の用語では、このメソッドは次のように動作します。 解析フェーズの結果は、フィールドと値のマップと見なすことができます。 このメソッドの動作は、フェーズ 1 から 2 の間でそのマップをフィルター処理し、このメソッドの引数として指定されたフィールド以外のすべてのフィールドを削除することです。

このインスタンスは不変であり、このメソッド呼び出しの影響を受けません。

の Java ドキュメントjava.time.format.DateTimeFormatter.withResolverFields(java.util.Set<java.time.temporal.TemporalField>)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象