次の方法で共有


DateTimeFormatter.WithZone(ZoneId) メソッド

定義

新しいオーバーライド ゾーンを持つこのフォーマッタのコピーを返します。

[Android.Runtime.Register("withZone", "(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)]
public Java.Time.Format.DateTimeFormatter? WithZone (Java.Time.ZoneId? zone);
[<Android.Runtime.Register("withZone", "(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)>]
member this.WithZone : Java.Time.ZoneId -> Java.Time.Format.DateTimeFormatter

パラメーター

zone
ZoneId

新しいオーバーライド ゾーン、オーバーライドがない場合は null

戻り値

このフォーマッタに基づくフォーマッタと、null ではなく、要求されたオーバーライド ゾーン

属性

注釈

新しいオーバーライド ゾーンを持つこのフォーマッタのコピーを返します。

これにより、このフォーマッタと同様の状態のフォーマッタが返されますが、オーバーライド ゾーンが設定されます。 既定では、フォーマッタにはオーバーライド ゾーンがなく、null が返されます。

オーバーライドが追加されると、書式設定または解析されたインスタントが影響を受ける可能性があります。

書式設定時に、テンポラル オブジェクトにインスタントが含まれている場合は、オーバーライド ゾーンを使用してゾーン化された日時に変換されます。 テンポラルが一瞬であるかどうかは、フィールドのクエリによって ChronoField#INSTANT_SECONDS INSTANT_SECONDS 決定されます。 入力に時系列がある場合は、オーバーライドされない限り保持されます。 入力に時系列がない場合は、 InstantISO 時系列が使用されます。

テンポラル オブジェクトにインスタントが含まれていないが、オフセットが含まれている場合は、追加のチェックが行われます。 正規化されたオーバーライド ゾーンがテンポラルのオフセットとは異なるオフセットである場合は、a DateTimeException がスローされます。 それ以外の場合は、オーバーライド ゾーンがテンポラルに追加され、以前のゾーンは置き換えられますが、日付/時刻は変更されません。

解析時には、2 つの異なるケースを考慮する必要があります。 使用された可能性があるため DateTimeFormatterBuilder#appendZoneId() に、ゾーンがテキストから直接解析されている場合、このオーバーライド ゾーンは効果がありません。 ゾーンが解析されていない場合、このオーバーライド ゾーンは解析の結果に含まれます。このゾーンを使用してインスタントと日時を作成できます。

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

の Java ドキュメントjava.time.format.DateTimeFormatter.withZone(java.time.ZoneId)

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

適用対象