日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LocalDateTime、LocalDate、Date的相互转换(亲测LocalDateTime转LocalDate)

發(fā)布時間:2024/9/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LocalDateTime、LocalDate、Date的相互转换(亲测LocalDateTime转LocalDate) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:https://www.cnblogs.com/CF1314/p/13884530.html

目錄

  • LocalDateTime、LocalDate、Date的相互轉換
    • LocalDateTime 轉 LocalDate
    • LocalDateTime 轉 Date
    • LocalDate 轉 LocalDateTime
    • LocalDate 轉 Date
    • Date 轉 LocalDateTime
    • Date 轉 LocalDate

?


回到頂部

LocalDateTime、LocalDate、Date的相互轉換

LocalDateTime 及 LocalDate 是 Java8 的新特性,有時為了兼容 Date 類型需要進行轉換。

LocalDateTime 轉 LocalDate

直接調用 toLocalDate() 方法

LocalDateTime localDateTime = LocalDateTime.now(); LocalDate localDate = localDateTime.toLocalDate();

LocalDateTime 轉 Date

在LocalDateTime 轉 Date 時,需要使用到 Java 8的幾個類

  • ZoneId/ZoneOffset:表示時區(qū)
  • ZonedDateTime: 表示特定時區(qū)的日期和時間
  • Instant:表示時刻,不直接對應年月日信息,需要通過時區(qū)轉換
LocalDateTime localDateTime = LocalDateTime.now(); //獲取系統默認時區(qū) ZoneId zoneId = ZoneId.systemDefault(); //時區(qū)的日期和時間 ZonedDateTime zonedDateTime = localDateTime.atZone(zoneId); //獲取時刻 Date date = Date.from(zonedDateTime.toInstant()); System.out.println("格式化前:localDateTime:" + localDateTime + " Date:" + date); //格式化LocalDateTime、Date DateTimeFormatter localDateTimeFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("格式化后:localDateTime:" + localDateTimeFormat.format(localDateTime) + " Date:" + dateFormat.format(date));

輸出結果如下:

格式化前:localDateTime:2020-10-27T11:35:09.969 Date:Tue Oct 27 11:35:09 CST 2020 格式化后:localDateTime:2020-10-27 11:35:09 Date:2020-10-27 11:35:09

LocalDate 轉 LocalDateTime

一般調用 atTime() 方法進行賦值

LocalDate localDate = LocalDate.now(); LocalDateTime localDateTime1 = localDate.atStartOfDay(); LocalDateTime localDateTime2 = localDate.atTime(8,20,33); LocalDateTime localDateTime3 = localDate.atTime(LocalTime.now());

LocalDate 轉 Date

先調用 atStartOfDay() 方法轉 LocalDateTime 再轉 Date

LocalDate localDate = LocalDate.now(); ZoneId zoneId = ZoneId.systemDefault(); Date date = Date.from(localDate.atStartOfDay().atZone(zoneId).toInstant());

Date 轉 LocalDateTime

先轉 ZonedDateTime 再轉 LocalDateTime

Date date = new Date(); ZoneId zoneId = ZoneId.systemDefault(); LocalDateTime localDateTime = date.toInstant().atZone(zoneId).toLocalDateTime();

Date 轉 LocalDate

跟 LocalDate 同理

Date date = new Date(); ZoneId zoneId = ZoneId.systemDefault(); LocalDate localDate = date.toInstant().atZone(zoneId).toLocalDate();

總結

以上是生活随笔為你收集整理的LocalDateTime、LocalDate、Date的相互转换(亲测LocalDateTime转LocalDate)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。