Reputation: 59355
What is the simplest way to convert a JodaTime LocalDate
to java.util.Date
object?
Upvotes: 65
Views: 60605
Reputation: 1108722
To convert JodaTime's org.joda.time.LocalDate
to java.util.Date
, do
Date date = localDate.toDateTimeAtStartOfDay().toDate();
To convert JodaTime's org.joda.time.LocalDateTime
to java.util.Date
, do
Date date = localDateTime.toDate();
To convert Java8's java.time.LocalDate
to java.util.Date
, do
Date date = Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
To convert Java8's java.time.LocalDateTime
to java.util.Date
, do
Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
You might be tempted to shorten it with LocalDateTime#toInstant(ZoneOffset)
, but there isn't a direct API to obtain the system default zone offset.
To convert Java8's java.time.ZonedDateTime
to java.util.Date
, do
Date date = Date.from(zonedDateTime.toInstant());
Upvotes: 81
Reputation: 808
Since 2.0 version LocalDate has a toDate() method
Date date = localDate.toDate();
If using version 1.5 - 2.0 use:
Date date = localDate.toDateTimeAtStartOfDay().toDate();
On older versions you are left with:
Date date = localDate.toDateMidnight().toDate();
Upvotes: 10
Reputation: 45576
You will need a timezone.
LocalDate date = ...
Date utilDate = date.toDateTimeAtStartOfDay( timeZone ).toDate( );
Upvotes: 9
Reputation: 298898
Maybe this?
localDate.toDateTimeAtCurrentTime().toDate();
Upvotes: 6