ホームページ  >  記事  >  Java  >  Java 8 LocalDateTime と java.util.Date の間で変換するにはどうすればよいですか?

Java 8 LocalDateTime と java.util.Date の間で変換するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-19 19:57:02322ブラウズ

How to Convert Between Java 8 LocalDateTime and java.util.Date?

Java 8 LocalDateTime と java.util.Date 間の変換

java.util.Date から LocalDateTime への変換:

java.util.Date オブジェクトを LocalDateTime に変換するには、まず toInstant() メソッドを使用して Date を Instant に変換します。

Date in = new Date();
Instant instant = in.toInstant();

次に、LocalDateTime を使用して LocalDateTime オブジェクトを作成します。 .ofInstant()、目的のタイムゾーンを指定します:

LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());

LocalDateTime から java.util.Date への変換:

LocalDateTime を Java に変換するには.util.Date を作成するには、まず atZone() メソッドと toInstant() メソッドを使用してインスタントに変換します:

LocalDateTime ldt = ...
ZonedDateTime zdt = ldt.atZone(ZoneId.systemDefault());
Instant instant = zdt.toInstant();

最後に、インスタントから新しい java.util.Date オブジェクトを作成します:

Date out = Date.from(instant);

考慮事項:

  • LocalDateTime から ZonedDateTime への変換は、夏時間のため予期しない動作を引き起こす可能性があります。
  • Java 間のラウンドトリップ.util.Date と LocalDateTime は、夏時間により異なる瞬間になる可能性があります。
  • java.time.* はすべての日付に ISO 暦法を使用しますが、java.util.Date は 10 月以降はグレゴリオ暦を使用します。 1582 年 15 日とその前のユリウス暦。

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

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