Каков самый простой способ конвертировать JodaTime LocalDate
в java.util.Date
объект?
Как преобразовать Joda LocalDate в java.util.Date?
Ответ 1
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());
Ответ 2
Вам понадобится часовой пояс.
LocalDate date = ...
Date utilDate = date.toDateTimeAtStartOfDay( timeZone ).toDate( );
Ответ 3
Так как версия 2.0 LocalDate имеет метод toDate()
Date date = localDate.toDate();
При использовании версии 1.5 - 2.0 используйте:
Date date = localDate.toDateTimeAtStartOfDay().toDate();
В старых версиях вы остаетесь:
Date date = localDate.toDateMidnight().toDate();
Ответ 4
Может быть, это?
localDate.toDateTimeAtCurrentTime().toDate();
Ответ 5
Попробуйте это.
новая дата (localDate.toEpochDay())