首頁 > Java > java教程 > 如何將'java.util.Date”轉換為'java.time.LocalDate”?

如何將'java.util.Date”轉換為'java.time.LocalDate”?

Linda Hamilton
發布: 2024-12-08 02:49:10
原創
751 人瀏覽過

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 物件轉換為新的 java.time.LocalDate 格式。 util.Date 到 LocalDate,遵循這些步驟:

Date input = new Date();
LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
登入後複製

說明

java.util.Date 表示沒有任何時區資訊的瞬時時間。但是,LocalDate 表示沒有時間或時區的特定日曆日期。

要將 Date 轉換為 LocalDate,必須先使用 toInstant() 方法將 Date 轉換為 Instant。 Instant 沒有與之關聯的時區。

接下來,您需要將時區應用於 Instant 以取得 ZonedDateTime 物件。您可以使用 ZoneId.systemDefault() 來取得預設系統時區。

最後,您可以使用 toLocalDate() 方法從 ZonedDateTime 物件中擷取 LocalDate 元件。

Java 9 答案

Java SE 9 引入了上述內容的更簡單的替代方案conversion:

Date input = new Date();
LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
登入後複製

此方法直接將Date轉換為LocalDate,不需要中間的ZonedDateTime 物件。

以上是如何將'java.util.Date”轉換為'java.time.LocalDate”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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