废话不多说直接上代码
方法注释没有写,方法名已经比较明确了,在写注释有点画蛇添足的感觉
import java.time.*;
import java.util.Date;
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);
}
}