java.util.Date から java.time.LocalDate への変換
JDK 8/JSR-310 で導入された java.time パッケージは以下を提供します従来の java.util.Date クラスよりも最新かつ包括的な日付と時刻 API。 java.util.Date オブジェクトを新しい java.time.LocalDate に変換するには、次の手順を使用すると効果的に実行できます。
1.インスタントに変換:
java.util.Date クラスは、エポックからの瞬間をミリ秒単位で表します。 java.util.Date オブジェクトをインスタントに変換するには、toInstant() メソッドを使用します。
Date input = new Date(); Instant instant = input.toInstant();
2.タイムゾーンの適用:
インスタントにはタイムゾーン情報が含まれません。ローカル日付に変換するには、タイムゾーンを適用する必要があります。 atZone() メソッドを目的のタイムゾーンで使用します。
ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
3. LocalDate の抽出:
ZonedDateTime には、日付と時刻、およびタイムゾーンの両方が含まれます。 LocalDate を抽出するには、toLocalDate() メソッドを使用します。
LocalDate date = zdt.toLocalDate();
Java 9 の簡略化:
Java 9 では、この変換を簡素化する新しいメソッドが導入されました。
LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
このメソッドは、デフォルトを使用してインスタントを LocalDate に直接変換します。タイムゾーン。以前のアプローチよりも簡潔で効率的です。
以上がjava.util.Date を java.time.LocalDate に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。