如何将JodaTime的LocalDate
对象转换成java.util.Date
对象是最简单的方法?
要将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();
要将 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());
自2.0版本以来,LocalDate拥有了一个toDate()方法。
Date date = localDate.toDate();
如果使用版本1.5-2.0,请使用:Date date = localDate.toDateTimeAtStartOfDay().toDate();
在旧版本中,您只剩下:
Date date = localDate.toDateMidnight().toDate();
LocalDate date = ...
Date utilDate = date.toDateTimeAtStartOfDay( timeZone ).toDate( );
localDate.toDateTimeAtCurrentTime().toDate();
试试这个。
new Date(localDate.toEpochDay())