Java8 Date与LocalDate互转

Java8 日期时间API,新增了LocalDate、LocalDateTime、LocalTime等线程安全类,接下来要说的是LocalDate与java.util.Date之间的转换。

1、LocalDate不包含时间,描述的是日期,如果对时间不关心,可以使用LocalDate

2、Date转LocalDate

    public static void main(String[] args) {
        Date date = new Date();
        LocalDate localDate = LocalDate.now();
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println("date2LocalDate:"+date2LocalDate(date));
    }

    /**
     * Date转LocalDate
     * @param date
     */
    public static LocalDate date2LocalDate(Date date) {
        if(null == date) {
            return null;
        }
        return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
    }

控制台输出:

date2LocalDate:2018-06-28

3、LocalDate转Date

    public static void main(String[] args) {
        Date date = new Date();
        LocalDate localDate = LocalDate.now();
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println("localDate2Date:"+localDate2Date(localDate));
    }
    /**
     * LocalDate转Date
     * @param localDate
     * @return
     */
    public static Date localDate2Date(LocalDate localDate) {
        if(null == localDate) {
            return null;
        }
        ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault());
        return Date.from(zonedDateTime.toInstant());
    }
控制台输出:
localDate2Date:Thu Jun 28 00:00:00 CST 2018




猜你喜欢

转载自blog.csdn.net/chunzhilianxue/article/details/80847610
今日推荐