多语言展示
当前在线:1016今日阅读:27今日分享:41

Java8中如何实现Date和LocalDate的相互转换

Java8中实现Date和LocalDate的相互转换
工具/原料
1

java8

2

eclipse

方法/步骤
1

新建一个工具类DateUtils。

2

java.util.Date转化成LocalDate,代码如下:public static LocalDate DateToLocaleDate(Date date) {      Instant  instant = date.toInstant();       ZoneId zoneId  = ZoneId.systemDefault();       return instant.atZone(zoneId).toLocalDate(); }

3

在main方法中测试上面的方法:public static void main(String[] args) {      System.out.println(DateToLocaleDate(new Date())); }

4

LocalDate转化成java.util.Date,代码如下:public static Date LocalDateToDate(LocalDate localDate) {      ZoneId zoneId = ZoneId.systemDefault();       ChronoZonedDateTime zonedDateTime = localDate.atStartOfDay(zoneId);       return Date.from(zonedDateTime.toInstant()); }

5

在main方法中测试上面的方法:public static void main(String[] args) {      //System.out.println(DateToLocaleDate(new Date()));       System.out.println(LocalDateToDate(LocalDate.now())); }

6

整个java代码如下:package com.gwolf.crud.utils;import java.time.Instant;import java.time.LocalDate;import java.time.ZoneId;import java.time.chrono.ChronoZonedDateTime;import java.util.Date;public class DateUtils { public static LocalDate DateToLocaleDate(Date date) {      Instant  instant = date.toInstant();       ZoneId zoneId  = ZoneId.systemDefault();       return instant.atZone(zoneId).toLocalDate(); } public static Date LocalDateToDate(LocalDate localDate) {      ZoneId zoneId = ZoneId.systemDefault();       ChronoZonedDateTime zonedDateTime = localDate.atStartOfDay(zoneId);       return Date.from(zonedDateTime.toInstant()); } public static void main(String[] args) {      //System.out.println(DateToLocaleDate(new Date()));       System.out.println(LocalDateToDate(LocalDate.now())); }}

推荐信息