废话不多说直接上代码
import java.time.*;
import java.util.Date;
/**
* {@link Date} 与 {@link LocalDate},{@link LocalDateTime} 相互转换工具类
*
* @author :GeforceLee
* @date :Created in 2021/4/9 9:48
*/
public class LocalDateUtil {
public static LocalDateTime date2LocalDateTime(Date date) {
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
return LocalDateTime.ofInstant(instant, zone);
}
public static LocalDate date2LocalDate(Date date) {
LocalDateTime localDateTime = date2LocalDateTime(date);
return localDateTime.toLocalDate();
}
public static LocalTime date2LocalTime(Date date) {
LocalDateTime localDateTime = date2LocalDateTime(date);
return localDateTime.toLocalTime();
}
public static Date localDateTime2Date(LocalDateTime localDateTime){
ZoneId zoneId = ZoneId.systemDefault();
Instant instant = localDateTime.atZone(zoneId).toInstant();
return Date.from(instant);
}
public static Date localDate2Date(LocalDate localDate){
ZoneId zoneId = ZoneId.systemDefault();
Instant instant = localDate.atStartOfDay().atZone(zoneId).toInstant();
return Date.from(instant);
}
public static Date localTime2Date(LocalTime localTime){
LocalDate now = LocalDate.now();
LocalDateTime localDateTime = LocalDateTime.of(now, localTime);
return localDateTime2Date(localDateTime);
}
}