將java.util.Date 轉換為java.time.LocalDate
在Java 8 及更高版本中,java.util. Date 類別具有已被用於表示日期的java.time.LocalDate 類別取代。因此,有必要將 Date 物件轉換為 LocalDate 物件。
轉換過程
取得即時: Convert使用 toInstant() 將 Date 物件轉換為 Instant
Date input = new Date(); Instant instant = input.toInstant();
指定時區:由於 Date 物件缺少時區信息,因此請選擇時區。這可以是使用 ZoneId.systemDefault() 的系統預設值,也可以是自訂的。
ZoneId zone = ZoneId.systemDefault();
獲取ZonedDateTime: 將Instant 和時區結合起來創建一個ZonedDateTime.
ZonedDateTime zdt = instant.atZone(zone);
提取LocalDate:使用 toLocalDate() 方法從 ZonedDateTime 擷取本地日期。
LocalDate date = zdt.toLocalDate();
Java 9 及更高版本最佳化
Java 9引入了這種轉換的簡化方法:
LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
說明
以上是如何將 java.util.Date 轉換為 java.time.LocalDate?的詳細內容。更多資訊請關注PHP中文網其他相關文章!