ホームページ > Java > &#&チュートリアル > java.util.Date を java.time.LocalDate に効率的に変換する方法

java.util.Date を java.time.LocalDate に効率的に変換する方法

Patricia Arquette
リリース: 2024-12-07 01:18:19
オリジナル
721 人が閲覧しました

How to Efficiently Convert java.util.Date to java.time.LocalDate?

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

問題:

java.util.Date オブジェクトを新しいものに効率的に変換するにはどうすればよいですかJDK 8/JSR-310 で導入された java.time.LocalDate 形式?

短い回答:

変換を実現するには、次のコードを使用します:

Date input = new Date();
LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
ログイン後にコピー

Java 9解決策:

より効率的な代替手段が Java SE 9 に追加されました:

Date input = new Date();
LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
ログイン後にコピー

説明:

その名前が示すものとは異なりますjava.util.Date オブジェクトは、特定の日付ではなく、ある時点を表します。 java.util.Date を互換性のある java.time.LocalDate に変換するには、次の手順が必要です。

  1. toInstant() メソッドを使用して、同じ瞬間を表す Instant オブジェクトを取得します。 Date オブジェクト。
  2. atZone() メソッドを使用して、Instant オブジェクトに特定のタイムゾーンを適用します。デフォルトのシステム タイム ゾーン (ZoneId.systemDefault()) またはカスタム タイム ゾーンを使用できます。
  3. toLocalDate() を使用して、結果の ZonedDateTime オブジェクトから LocalDate オブジェクトを抽出します。

この変換プロセスは、java.util.Date にタイムゾーン情報が含まれていないという事実を考慮しています。タイムゾーンを指定すると、特定の現地日付に正確に変換できます。

以上がjava.util.Date を java.time.LocalDate に効率的に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート