java.time.LocalDate в java.util.Date

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

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

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

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


person Nikos    schedule 02.12.2014    source источник


Ответы (1)


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

Ознакомьтесь с этим сообщением в блоге, Преобразование между Date и java8 java.time.LocalDateTime, LocalDate и LocalTime от joachim.

person brso05    schedule 02.12.2014
comment
Ссылка дала мне ответ! Моя (глупая) ошибка заключалась в том, что я предположил, что java.time.LocalDate является эквивалентом java util Date, в то время как мне нужно использовать java.time.LocalDateTime, потому что LocalDate не сохраняет информацию о времени! Спасибо, в любом случае ! - person Nikos; 02.12.2014