我想将java.time.LocalDate转换为java.util.Date类型。因为我想将日期设置为JDateChooser。或者有任何日期选择器支持java。时间日期吗?


当前回答

localDate.format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));

其他回答

public static Date convertToTimeZone(Date date, String tzFrom, String tzTo) {
    return Date.from(LocalDateTime.ofInstant(date.toInstant(), ZoneId.of(tzTo)).atZone(ZoneId.of(tzFrom)).toInstant());
} 
java.util.Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
localDate.format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));

这对我来说很管用:

java.util.Date d = new SimpleDateFormat("yyyy-MM-dd").parse(localDate.toString());

https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html#toString--

java。time具有Temporal接口,您可以使用该接口从大多数time类创建Instant对象。Instant表示Epoch(所有其他日期和时间的基本参考)中时间轴上的毫秒数。

我们需要将Date转换为一个带Time和Zone的ZonedDateTime来进行转换:

LocalDate ldate = ...;
Instant instant = Instant.from(ldate.atStartOfDay(ZoneId.of("GMT")));
Date date = Date.from(instant);