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

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

Patricia Arquette
發布: 2024-12-09 00:53:09
原創
361 人瀏覽過

How Do I Convert a java.util.Date to a java.time.LocalDate?

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

在Java 8 及更高版本中,java.util. Date 類別具有已被用於表示日期的java.time.LocalDate 類別取代。因此,有必要將 Date 物件轉換為 LocalDate 物件。

轉換過程

  1. 取得即時: Convert使用 toInstant() 將 Date 物件轉換為 Instant

    Date input = new Date();
    Instant instant = input.toInstant();
    登入後複製
  2. 指定時區:由於 Date 物件缺少時區信息,因此請選擇時區。這可以是使用 ZoneId.systemDefault() 的系統預設值,也可以是自訂的。

    ZoneId zone = ZoneId.systemDefault();
    登入後複製
  3. 獲取ZonedDateTime: 將Instant 和時區結合起來創建一個ZonedDateTime.

    ZonedDateTime zdt = instant.atZone(zone);
    登入後複製
  4. 提取LocalDate:使用 toLocalDate() 方法從 ZonedDateTime 擷取本地日期。

    LocalDate date = zdt.toLocalDate();
    登入後複製

Java 9 及更高版本最佳化

Java 9引入了這種轉換的簡化方法:

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

說明

  • A java.util.日期表示時間中的一個瞬間,而不是特定的日期。
  • 瞬間缺少時區訊息,因此在轉換為 LocalDate 時必須指定時區。
  • ZonedDateTime 保存本地日期和時間信息,以及時區和相對於 GMT/UTC 的偏移量。

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

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