2014-12-02 9 views
0

Каков наилучший способ конвертировать из java.time.LocalDate в java.util.Date?java.time.LocalDate to java.util.Date

Date.from(dateToReturn.atStartOfDay(ZoneId.systemDefault()).toInstant() 

Я пытался это одно, но, кажется, не работает правильно со временем, хотя преобразует дату месяц и год правильно.

Обновление: java.time.LocalDate не сохраняет информацию о времени. Используется только java.time.LocalDateTime, и все работает нормально.

+0

Полезная информация http://blog.progs.be/542/date-to-java-time – Sybren

+1

Сколько времени вы ожидали? LocalDate не имеет связанной информации о времени. – isnot2bad

+0

Может быть, 'myDate.setDate (myLocalDate.toEpochDay())'? –

ответ

4
LocalDate ld = ...; 
Instant instant = ld.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant(); 
Date res = Date.from(instant); 

Заканчивать этот блог, Converting between Date and java8 java.time.LocalDateTime, LocalDate and LocalTime Иоахим.

+0

Ссылка дала мне ответ! Моя (глупая) ошибка заключалась в том, что я предположил, что java.time.LocalDate является эквивалентом java util Date, в то время как мне нужно использовать java.time.LocalDateTime, потому что LocalDate не экономит время! Спасибо, в любом случае ! – asdfsarandom

+0

Ваш радушный рад, что вы поняли это! – brso05

Смежные вопросы