Java Date和DateTime相互转换

时间:2025-03-18 09:49:20
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)); } }