LocalDateTime、LocalDate、Date的相互转换(亲测LocalDateTime转LocalDate)
生活随笔
收集整理的這篇文章主要介紹了
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:表示時區
- ZonedDateTime: 表示特定時區的日期和時間
- Instant:表示時刻,不直接對應年月日信息,需要通過時區轉換
輸出結果如下:
格式化前: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:09LocalDate 轉 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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 借读生是什么意思呢(借读生是什么意思)
- 下一篇: git 更新远程分支列表(亲测)