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

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

Mary-Kate Olsen
リリース: 2024-12-06 22:12:14
オリジナル
183 人が閲覧しました

How do I convert between java.time.LocalDateTime and java.util.Date?

java.time.LocalDateTime と java.util.Date の間の変換

Java 8 では、Java を含む新しい日付と時刻 API が導入されました。タイムゾーンに依存しない日付付き時刻値の .time.LocalDateTime クラス。ただし、多くのレガシー コードベースでは依然として古い java.util.Date クラスが使用されています。このため、2 つのクラス間で変換する方法が疑問になります。

直接変換する方法はありませんが、次の手順で解決できます。

  1. 変換java.util.日付インスタント:

    Date in = new Date();
    Instant instant = in.toInstant();
    ログイン後にコピー
  2. インスタントを LocalDateTime に変換 (タイムゾーンを指定):

    LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
    ログイン後にコピー
  3. LocalDateTime を ZonedDateTime に変換します (指定タイムゾーン):

    ZoneId systemZoneId = ZoneId.systemDefault();
    ZonedDateTime zdt = ldt.atZone(systemZoneId);
    ログイン後にコピー
  4. ZonedDateTime をインスタントに変換:

    Instant convertedInstant = zdt.toInstant();
    ログイン後にコピー
  5. インスタントを元に変換java.util.Date:

    Date out = Date.from(convertedInstant);
    ログイン後にコピー

LocalDateTime への変換と java.util.Date への変換では、夏時間により異なる瞬間が生じる可能性があることに注意することが重要です。時間を節約します。

さらに、java.util.Date は、10 月 15 日より前の日付には別のカレンダーを使用します。 1582 ですが、java.time.* は常に ISO カレンダーを使用します。この違いは、1582 年より前の日付を比較する場合の互換性に影響を与える可能性があります。

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

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