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

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

Linda Hamilton
リリース: 2024-12-08 02:49:10
オリジナル
753 人が閲覧しました

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

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

Java の日付と時刻 API が JDK 8/JSR-310 でオーバーホールされました、日付関連の操作を処理するための新しいパラダイムを導入します。この移行における一般的なタスクは、既存の java.util.Date オブジェクトを新しい java.time.LocalDate 形式に変換することです。

短い回答

Java を変換するには。 util.Date から LocalDate まで、以下に従ってください手順:

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

説明

java.util.Date は、タイムゾーン情報を含まない時刻を表します。ただし、LocalDate は、時間やタイムゾーンを含まない特定のカレンダーの日付を表します。

日付を LocalDate に変換するには、まず toInstant() メソッドを使用して日付を Instant に変換する必要があります。インスタントにはタイム ゾーンが関連付けられていません。

次に、インスタントにタイム ゾーンを適用して ZonedDateTime オブジェクトを取得する必要があります。 ZoneId.systemDefault() を使用してデフォルトのシステム タイム ゾーンを取得できます。

最後に、toLocalDate() メソッドを使用して ZonedDateTime オブジェクトから LocalDate コンポーネントを抽出できます。

Java 9 の回答

Java SE 9 では、上記のより簡単な代替手段が導入されました変換:

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

このメソッドは、中間の ZonedDateTime オブジェクトを必要とせずに、Date を LocalDate に直接変換します。

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

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