日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

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

發(fā)布時(shí)間:2024/9/20 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LocalDateTime、LocalDate、Date的相互转换(亲测LocalDateTime转LocalDate) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

來(lái)源:https://www.cnblogs.com/CF1314/p/13884530.html

目錄

  • LocalDateTime、LocalDate、Date的相互轉(zhuǎn)換
    • LocalDateTime 轉(zhuǎn) LocalDate
    • LocalDateTime 轉(zhuǎn) Date
    • LocalDate 轉(zhuǎn) LocalDateTime
    • LocalDate 轉(zhuǎn) Date
    • Date 轉(zhuǎn) LocalDateTime
    • Date 轉(zhuǎn) LocalDate

?


回到頂部

LocalDateTime、LocalDate、Date的相互轉(zhuǎn)換

LocalDateTime 及 LocalDate 是 Java8 的新特性,有時(shí)為了兼容 Date 類型需要進(jìn)行轉(zhuǎn)換。

LocalDateTime 轉(zhuǎn) LocalDate

直接調(diào)用 toLocalDate() 方法

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

LocalDateTime 轉(zhuǎn) Date

在LocalDateTime 轉(zhuǎn) Date 時(shí),需要使用到 Java 8的幾個(gè)類

  • ZoneId/ZoneOffset:表示時(shí)區(qū)
  • ZonedDateTime: 表示特定時(shí)區(qū)的日期和時(shí)間
  • Instant:表示時(shí)刻,不直接對(duì)應(yīng)年月日信息,需要通過(guò)時(shí)區(qū)轉(zhuǎn)換
LocalDateTime localDateTime = LocalDateTime.now(); //獲取系統(tǒng)默認(rèn)時(shí)區(qū) ZoneId zoneId = ZoneId.systemDefault(); //時(shí)區(qū)的日期和時(shí)間 ZonedDateTime zonedDateTime = localDateTime.atZone(zoneId); //獲取時(shí)刻 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));

輸出結(jié)果如下:

格式化前: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 轉(zhuǎn) LocalDateTime

一般調(diào)用 atTime() 方法進(jìn)行賦值

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

LocalDate 轉(zhuǎn) Date

先調(diào)用 atStartOfDay() 方法轉(zhuǎn) LocalDateTime 再轉(zhuǎn) Date

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

Date 轉(zhuǎn) LocalDateTime

先轉(zhuǎn) ZonedDateTime 再轉(zhuǎn) LocalDateTime

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

Date 轉(zhuǎn) LocalDate

跟 LocalDate 同理

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

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。