如何将Joda LocalDate转换为java.util.Date?

将JodaTime LocalDate转换为java.util.Date对象最简单的方法是什么?

JodaTime

要将JodaTime的org.joda.time.LocalDate转换为java.util.Date ,请执行

 Date date = localDate.toDateTimeAtStartOfDay().toDate(); 

要将JodaTime的org.joda.time.LocalDateTime转换为java.util.Date ,请执行

 Date date = localDateTime.toDate(); 

JavaTime

要将Java8的java.time.LocalDate转换为java.util.Date ,请执行

 Date date = Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()); 

要将Java8的java.time.LocalDateTime转换为java.util.Date ,请执行

 Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); 

您可能会试图用LocalDateTime#toInstant(ZoneOffset)将其缩短,但是没有直接的API来获取系统默认区域偏移量。

要将Java8的java.time.ZonedDateTime转换为java.util.Date ,请执行

 Date date = Date.from(zonedDateTime.toInstant()); 

你将需要一个时区。

 LocalDate date = ... Date utilDate = date.toDateTimeAtStartOfDay( timeZone ).toDate( ); 

自2.0版本LocalDate有一个toDate()方法

 Date date = localDate.toDate(); 

如果使用版本1.5 – 2.0使用:

 Date date = localDate.toDateTimeAtStartOfDay().toDate(); 

在旧版本中,您将留下以下内容:

 Date date = localDate.toDateMidnight().toDate(); 

也许这个?

 localDate.toDateTimeAtCurrentTime().toDate(); 

尝试这个。

新date(localDate.toEpochDay())