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 ではなく、このフォーマッタに基づくフォーマッタ
- 属性
注釈
リゾルバー フィールドの新しいセットを含むこのフォーマッタのコピーを返します。
これにより、このフォーマッタと同様の状態のフォーマッタが返されますが、リゾルバー フィールドが設定されます。 既定では、フォーマッタにはリゾルバー フィールドはありません。
リゾルバー フィールドの変更は、解析中にのみ有効です。 テキスト文字列の解析は、2 つのフェーズで行われます。 フェーズ 1 は、ビルダーに追加されたフィールドに従った基本的なテキスト解析です。 フェーズ 2 では、解析されたフィールドと値のペアが日付オブジェクトまたは時刻オブジェクトに解決されます。 リゾルバー フィールドは、フェーズ 1 とフェーズ 2 の間のフィールドと値のペアをフィルター処理するために使用されます。
これを使用して、日付または時刻を解決する 2 つ以上の方法を選択できます。 たとえば、フォーマッタが年、月、日、および年の日で構成されている場合、日付を解決する方法は 2 つあります。 引数ChronoField#YEAR YEAR
ChronoField#DAY_OF_YEAR DAY_OF_YEAR
を指定してこのメソッドを呼び出すと、年と日を使用して日付が確実に解決されます。つまり、実質的には、解決フェーズ中に月と日が無視されます。
同様の方法で、このメソッドを使用して、クロスチェックされるセカンダリ フィールドを無視できます。 たとえば、フォーマッタが年、月、日、および曜日で構成されている場合、日付を解決する方法は 1 つだけですが、曜日の解析された値は解決された日付に対してクロスチェックされます。 引数 ChronoField#YEAR YEAR
を指定してこのメソッドを呼び出すと、 ChronoField#MONTH_OF_YEAR MONTH_OF_YEAR
ChronoField#DAY_OF_MONTH DAY_OF_MONTH
日付が正しく解決されますが、曜日のクロスチェックは行われなくなります。
実装の用語では、このメソッドは次のように動作します。 解析フェーズの結果は、フィールドと値のマップと見なすことができます。 このメソッドの動作は、フェーズ 1 から 2 の間でそのマップをフィルター処理し、このメソッドの引数として指定されたフィールド以外のすべてのフィールドを削除することです。
このインスタンスは不変であり、このメソッド呼び出しの影響を受けません。
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。