Java8 Date与LocalDate互转
reference:
Java8 日期时间API,新增了LocalDate、LocalDateTime、LocalTime等线程安全类:
LocalDate:只有日期,诸如:2019-07-13
LocalTime:只有时间,诸如:08:30
LocalDateTime:日期+时间,诸如:2019-07-13 08:30
1.Date转换成LocalDate
public static LocalDate date2LocalDate(Date date) {
if(null == date) {
return null;
}
return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
}
2.LocalDate转换成Date
public static Date localDate2Date(LocalDate localDate) {
if(null == localDate) {
return null;
}
ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault());
return Date.from(zonedDateTime.toInstant());
}
2.LocalDateTime转换成Date
public static Date localDateTime2Date(LocalDateTime localDateTime) {
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
}
3.LocalDate格式化
public static String formatDate(Date date) {
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
return localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
}