ホームページ >Java >&#&チュートリアル >java.util.Date を java.time の Instant、OffsetDateTime、または ZonedDateTime に変換するにはどうすればよいですか?

java.util.Date を java.time の Instant、OffsetDateTime、または ZonedDateTime に変換するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-03 11:24:29719ブラウズ

How do I convert java.util.Date to java.time's Instant, OffsetDateTime, or ZonedDateTime?

最新の java.time フレームワークに移行する際に、java.util.Date を java.time の Instant、OffsetDateTime、または ZonedDateTime に変換します

、従来の java.util.Date オブジェクトを適切な java.time に変換する方法を知ることが重要です。 種類。等価性の概要は次のとおりです:

java.util.Date から Instant

どちらも UTC での瞬間を表すため、変換は簡単です:

<code class="java">Instant instant = myUtilDate.toInstant();

java.util.Date myUtilDate = java.util.Date.from(instant);</code>

java.util.Date から java.time の OffsetDateTime またはZonedDateTime

これらの型にはタイム ゾーン情報が組み込まれているため、従来の日付からゾーンを抽出する必要があります。

<code class="java">// If the legacy date is a GregorianCalendar (which can hold time zone info)
if (myUtilCalendar instanceof GregorianCalendar) {
    GregorianCalendar gregCal = (GregorianCalendar) myUtilCalendar;
    ZonedDateTime zdt = gregCal.toZonedDateTime(); // ZonedDateTime with time zone

    java.util.Calendar myUtilCalendar = java.util.GregorianCalendar.from(zdt);
}</code>

追加の変換マッピング

Legacy Type java.time Equivalent Additional Notes
java.util.Calendar Instant Converts to the start of the day in UTC
java.util.GregorianCalendar ZonedDateTime Retains time zone information
java.util.LocalDate ZonedDateTime Requires a time zone to determine the date
java.util.LocalTime Instant Converts to the start of the day in UTC
java.util.LocalDateTime ZonedDateTime Requires a time zone to determine the date and time

重要考慮事項

  • レガシー クラスではナノ秒の解像度がサポートされていないため、java.util.Date から java.time 型に変換すると精度が失われる可能性があります。
  • OffsetDateTime または ZonedDateTime に変換する場合、正確であることを保証するためにタイム ゾーン情報を保持する必要があります。
  • 精度と一貫性を高めるために、新しいコードで java.time 型を使用することを強くお勧めします。

以上がjava.util.Date を java.time の Instant、OffsetDateTime、または ZonedDateTime に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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