JDK1.8中LocalDate、LocalDateTime与Date之间的转换

ZoneId zoneId = ZoneId.systemDefault();

LocalDate localDate = LocalDate.now();
System.out.println(localDate); // 输出2019-12-10
LocalDateTime dateTime = LocalDateTime.now();
System.out.println(dateTime); // 输出2019-12-10T17:57:51.009

DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy/MM/dd");
localDate = LocalDate.parse("2018/10/18", dateTimeFormatter1); // String转换为LocalDate
System.out.println(localDate); // 输出2018-10-18
System.out.println(localDate.format(dateTimeFormatter1)); // LocalDate转换为String,输出2018/10/18

ZonedDateTime zonedDate = localDate.atStartOfDay(zoneId);
Date date1 = Date.from(zonedDate.toInstant());
System.out.println(date1); // LocalDate转换为Date,输出Thu Oct 18 00:00:00 CST 2018

DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
dateTime = LocalDateTime.parse("2018-10-18 16:00:00", dateTimeFormatter2); // String转换为LocalDateTime
System.out.println(dateTime); // 输出2018-10-18T16:00
System.out.println(dateTime.format(dateTimeFormatter2)); // LocalDateTime转换为String,输出2018-10-18 16:00:00

ZonedDateTime zonedDateTime = dateTime.atZone(zoneId);
Date date2 = Date.from(zonedDateTime.toInstant());
System.out.println(date2); // LocalDateTime转换为Date,输出Thu Oct 18 16:00:00 CST 2018



猜你喜欢

转载自www.cnblogs.com/septemberFrost/p/12018322.html
今日推荐