首頁 > Java > java教程 > 如何在 java.time.LocalDateTime 和 java.util.Date 之間轉換?

如何在 java.time.LocalDateTime 和 java.util.Date 之間轉換?

Linda Hamilton
發布: 2024-11-13 02:53:02
原創
260 人瀏覽過

How to Convert Between java.time.LocalDateTime and java.util.Date?

在java.time.LocalDateTime 和java.util.Date 之間轉換

隨著Java 8 引入java.time 包,開發人員已經接受了它的新API 來處理日期和時間。在其類別中,LocalDateTime 擁有與時區無關的日期與時間值。

但是,遺留程式碼通常依賴 java.util.Date 類別。當整合新舊程式碼庫時,這兩個類別之間的轉換是必要的。

轉換方法:

從java.util.Date 到LocalDateTime:

  1. 使用方法🎜>使用方法將java.util.Date 轉換為Instant。
  2. 使用ZoneId.systemDefault() 指定時區,通過ofInstant() 創建LocalDateTime( ).

代碼:

Date in = new Date();
LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault());
登入後複製

從LocalDateTime 到java.util.Date:

  1. 使用 atZone(ZoneId) 將 LocalDateTime 轉換為 ZonedDateTime。
  2. 使用 toInstant() 將 ZonedDateTime 轉換為 Instant,然後使用 Date.from() 將 ZonedDateTime 轉換為 java.util.Date。

代碼:

LocalDateTime ldt = ...
ZonedDateTime zdt = ldt.atZone(ZoneId.systemDefault());
Date output = Date.from(zdt.toInstant());
登入後複製

關於夏令時(DST) 的注意事項:

其他注意事項:

    java.util.Date 表示時間線上的瞬間,而java.time.* 中的Instant 表示沒有時區的瞬間。
  • LocalDateTime 與 java.util.Date 之間的轉換可能會因 1582 年之前的日曆系統(儒略曆與公曆)差異而導致不同的瞬間.

以上是如何在 java.time.LocalDateTime 和 java.util.Date 之間轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板