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

java.util.Date を java.time.LocalDate に変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-09 00:53:09365ブラウズ

How Do I Convert a java.util.Date to a java.time.LocalDate?

java.util.Date から java.time.LocalDate への変換

Java 8 以降では、java.util.Date クラスは次のようになります。日付を表すために java.time.LocalDate クラスに置き換えられました。したがって、Date オブジェクトを LocalDate オブジェクトに変換する必要があります。

変換プロセス

  1. インスタントの取得: 変換toInstant() を使用して Date オブジェクトを Instant に変換します。 method.

    Date input = new Date();
    Instant instant = input.toInstant();
  2. タイムゾーンを指定: Date オブジェクトにはタイムゾーン情報がないため、タイムゾーンを選択します。これは、ZoneId.systemDefault() を使用してシステムのデフォルトにすることも、カスタムのデフォルトにすることもできます。

    ZoneId zone = ZoneId.systemDefault();
  3. ZonedDateTime を取得します: インスタントとタイム ゾーンを組み合わせて、を作成しますZonedDateTime.

    ZonedDateTime zdt = instant.atZone(zone);
  4. LocalDate を抽出します: toLocalDate() メソッドを使用して ZonedDateTime からローカル日付を抽出します。

    LocalDate date = zdt.toLocalDate();

Java 9 およびその後の最適化

Java 9 では、この変換のための簡略化されたメソッドが導入されました。

LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());

説明

  • A java.util .Date は、特定の日付ではなく、瞬間を表します。
  • Instantタイム ゾーン情報が不足しているため、LocalDate に変換するときにタイム ゾーンを指定する必要があります。
  • ZonedDateTime には、ローカルの日付と時刻の情報に加え、タイム ゾーンと GMT/UTC からのオフセットの両方が保持されます。

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

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