ホームページ  >  記事  >  Java  >  ZonedDateTime と OffsetDateTime の違いは何ですか

ZonedDateTime と OffsetDateTime の違いは何ですか

青灯夜游
青灯夜游オリジナル
2019-03-09 10:03:015446ブラウズ

ZonedDateTime と OffsetDateTime はどちらも Java 8 DateTime API で非常に人気のあるクラスであり、どちらもナノ秒の精度の瞬間をタイムラインに保存できます。それでは、それらの間に違いはあるのでしょうか?以下の記事では、ZonedDateTime と OffsetDateTime の違いについて説明しますので、皆様のお役に立てれば幸いです。 [ビデオチュートリアルの推奨: JavaTutorial]

ZonedDateTime と OffsetDateTime の違いは何ですか

ZonedDateTime とは何ですか?

ZonedDateTime は、ISO-8601 カレンダー システムのタイム ゾーンを使用した日付/時刻の不変表現です (例: 2007-12-03T10:15:30 01:00 Europe/パリ)。これは、localdatetime、zoneid、および解決されたzoneoffsetという 3 つの個別のオブジェクトに相当するものを保持します。

ここで、ZoneID はオフセットがいつどのように変更されるかを決定します。したがって、どのオフセットが有効であるかはゾーンによって制御されるため、オフセットを自由に設定することはできません。

特定のゾーンの現在の ZonedDateTime を取得するには、次を使用します。

ZoneId zone = ZoneId.of("Europe/Berlin");
ZonedDateTime zonedDateTime = ZonedDateTime.now(zone);

ZonedDateTime クラスには、特定の日付をあるタイム ゾーンから別のタイム ゾーンに変換するための組み込みメソッドも提供されます。

ZonedDateTime destZonedDateTime = sourceZonedDateTime.withZoneSameInstant(destZoneId);

最後に、DST を完全に理解し、夏時間の調整を処理します。これは、日時フィールドを特定のタイムゾーンで表示したい場合に便利です。

OffsetDateTime とは何ですか?

OffsetDateTime は、ISO-8601 カレンダー システムの UTC/グリニッジ時間で存在する日時の不変表現です (2007-12-03T10:15:30 01: など)。 00) オフセット。つまり、すべての日付と時刻のフィールドがナノ秒まで正確で、GMT/UTC からのオフセットで保存されます。

GMT/UTC から 2 時間オフセットした現在の OffsetDateTime を取得しましょう:

ZoneOffset zoneOffSet= ZoneOffset.of("+02:00");
OffsetDateTime offsetDateTime = OffsetDateTime.now(zoneOffSet);

ZonedDateTime と OffsetDateTime の違い

ZonedDateTime:

● 曖昧なローカル日付と時刻を処理するために、すべての日付と時刻のフィールドをナノ秒の精度、タイム ゾーン、およびゾーン オフセットで保存します。

● 不可能ですゾーンによって実効オフセット値が制御されるため、オフセットを自由に設定できます。

● DST を完全にサポートし、夏時間調整を処理します。

● ユーザー フィールドに日付と時刻のフィールドを表示すると非常に便利です。特定のタイム ゾーン

OffsetDateTime:

#● すべての日付と時刻フィールドをナノ秒の精度で、GMT/UTC からのオフセットで保存します (タイム ゾーン情報なし)

● データベースに日付を保存するか、ネットワークを介して通信するために使用する必要があります

上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がZonedDateTime と OffsetDateTime の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。