web-dev-qa-db-fra.com

LocalDate to Java.util.Date et vice versa la conversion la plus simple?

Existe-t-il un moyen simple de convertir un objet LocalDate (introduit avec Java 8) en objet Java.util.Date

Par simple, j'entends plus simple que cela: 

Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());

ce qui me semble un peu gênant. 

Puisque nous ne sommes intéressés que par la partie date et qu'il n'y a pas d'informations de fuseau horaire dans aucun des objets, pourquoi introduire explicitement les fuseaux horaires? L'heure de minuit et le fuseau horaire par défaut du système doivent être pris implicitement pour la conversion.

98
George

Date -> Date locale:

LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

LocalDate -> Date:

Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
14
Hai Nguyen

Date to LocalDate

Date date = new Date();
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

Date locale à ce jour

LocalDate localDate = LocalDate.now();
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
2
fjkjava

Conversion de LocalDateTime en Java.util.Date

    LocalDateTime localDateTime = LocalDateTime.now();

    ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneOffset.systemDefault());

    Instant instant = zonedDateTime.toInstant();

    Date date = Date.from(instant);

System.out.println("Result Date is : "+date);
0
Simhadri