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

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

DDD
發布: 2024-12-10 07:30:12
原創
522 人瀏覽過

How to Convert java.util.Date to java.time.LocalDate?

將java.util.Date 轉換為java.time.LocalDate

JDK 8/JSR-310 中引入的java.javatime提供了比遺留的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中文網其他相關文章!

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