Java Date和DateTime相互转换
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class DateTimeUtil {
private static final ZoneId systemDefaultZone = ZoneId.systemDefault();
public static Date toDate(ZonedDateTime zonedDateTime) {
return Date.from(zonedDateTime.toInstant());
}
public static Date toDate(LocalDateTime localDateTime) {
return Date.from(localDateTime.atZone(systemDefaultZone).toInstant());
}
private static Long toEpochSecond(ZonedDateTime zonedDateTime){
return zonedDateTime.toInstant().getEpochSecond();
}
public static ZonedDateTime toZoneDateTime(Long epochSecond) {
return ZonedDateTime.ofInstant(Instant.ofEpochSecond(epochSecond), systemDefaultZone);
}
public static ZonedDateTime toZoneDateTime(Date date) {
return ZonedDateTime.ofInstant(date.toInstant(), systemDefaultZone);
}
public static LocalDateTime toLocalDateTime(Date date) {
return LocalDateTime.ofInstant(date.toInstant(), systemDefaultZone);
}
public static LocalDateTime toLocalDateTime(String strDate, String pattern){
return LocalDateTime.parse(strDate, DateTimeFormatter.ofPattern(pattern));
}
}