將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中文網其他相關文章!