您的位置:

如何将LocalDateTime转换成Date类型?

一、使用toLocalDate()方法

LocalDateTime类提供了toLocalDate()方法,可以将LocalDateTime对象转换为LocalDate对象,再使用LocalDate的toDate()方法将其转换为Date对象。


LocalDateTime localDateTime = LocalDateTime.now();
LocalDate localDate = localDateTime.toLocalDate();
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
System.out.println(date);

二、使用格式化字符串

还可以使用DateTimeFormatter类提供的ofPattern()方法,将LocalDateTime按照指定的格式转换为字符串,然后使用SimpleDateFormat类的parse()方法将其转换为Date对象。


LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formatDateTime = localDateTime.format(formatter);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(formatDateTime);
System.out.println(date);

三、使用Instant对象

还可以将LocalDateTime对象转换为Instant对象,然后使用Date类的from()方法将其转换为Date对象。


LocalDateTime localDateTime = LocalDateTime.now();
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
Date date = Date.from(instant);
System.out.println(date);