一、Date转化为LocalDate、LocalDate、LocalDateTime
1.第一种转换方法,借助新增类ZoneId、Instant、ZonedDateTime
public static void date2Local() { Date date = new Date(); //返回当前系统默认的时区 ZoneId zoneId = ZoneId.systemDefault(); //atZone()方法返回在指定时区,从该Instant生成的ZonedDateTime ZonedDateTime zonedDateTime = date.toInstant().atZone(zoneId); LocalDate localDate = zonedDateTime.toLocalDate(); LocalTime localTime = zonedDateTime.toLocalTime(); LocalDateTime localDateTime = zonedDateTime.toLocalDateTime(); }
2.第二种,同样使用ZoneId、Instant,但最后不同
public static void date2Local() { Date date = new Date(); ZoneId zoneId = ZoneId.systemDefault(); Instant instant = date.toInstant(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zoneId); LocalDate localDate = localDateTime.toLocalDate(); LocalTime localTime = localDateTime.toLocalTime(); }
3.第三种拓展,java9中新增了LocalDate、LocalTime的ofInstan()方法,所以第二种也可以写成:
public static void date2Local() { Date date = new Date(); ZoneId zoneId = ZoneId.systemDefault(); Instant instant = date.toInstant(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zoneId); LocalDate localDate = LocalDate.ofInstant(instant, zoneId); LocalTime localTime = LocalTime.ofInstant(instant, zoneId); }
二、LocalDate、LocalDate、LocalDateTime转化Date
1. java.time.LocalDateTime → java.util.Date
public void LocalDateTimeToDate() { LocalDateTime localDateTime = LocalDateTime.now(); ZoneId zoneId = ZoneId.systemDefault(); Instant instant = localDateTime.atZone(zoneId).toInstant(); Date date = Date.from(instant); }
2. java.time.LocalDate → java.util.Date
public void LocalDateToDate() { LocalDate localDate = LocalDate.now(); ZoneId zone = ZoneId.systemDefault(); //将此日期与午夜时间组合在一起,以便在此日期开始时创建LocalDateTime,即生成2017-02-03T00:00 Instant instant = localDate.atStartOfDay().atZone(zone).toInstant(); Date date = Date.from(instant); }
3. java.time.LocalTime → java.util.Date
public void LocalTimeToDate() { LocalTime localTime = LocalTime.now(); LocalDate localDate = LocalDate.now(); LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime); ZoneId zone = ZoneId.systemDefault(); Instant instant = localDateTime.atZone(zone).toInstant(); Date date = Date.from(instant); }
三、LocalDate、LocalDate、LocalDateTime中还有很多对日期,时间的操作方法,可以精细到毫秒,在此就不一一介绍了,具体可参考以下文章:
热门文章
- 北京宠物店一年利润怎么样(在北京开一家宠物店要多少)
- 3月28日|V2ray/SSR/Shadowrocket/Clash每天更新20.5M/S免费节点订阅链接,付费节点订阅推荐
- 狗粮生产机器设备二手(狗粮加工机器设备二手)
- 3月31日|SSR/V2ray/Shadowrocket/Clash每天更新22.1M/S免费节点订阅链接,付费节点订阅推荐
- 动物疫苗排名前三名是什么 动物疫苗排名前三名是什么意思
- 4月17日|Clash/Shadowrocket/V2ray/SSR每天更新19.7M/S免费节点订阅链接,付费节点订阅推荐
- 3月30日|Clash/Shadowrocket/SSR/V2ray每天更新18.6M/S免费节点订阅链接,付费节点订阅推荐
- docker启动kafka自动退出_mac 使用 docker 搭建 kafka 集群
- 给猫打全套疫苗多少钱(给猫打全套疫苗多少钱啊)
- 中国兽药十大名牌厂家排名100强 中国兽药十大名牌厂家排名100强有哪些