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
 

  






免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM