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 時系列が使用されます。

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

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

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

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

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象