Java 8 - Convertir LocalDate à ZonedDateTime

Je suis nouveau sur java.le temps de package. J'ai un LocalDate 2015-12-10. J'ai besoin de convertir cette ZonedDateTime. Le temps doit être 00:00:00 et la Zone est Écartfuseau.L'UTC.

Après la conversion, ZonedDateTime devrait être 2015-12-10T00:00:00+02:00.

Je suis stocker les LocalDate dans une variable appelée startDate.

J'ai essayé:

ZonedDateTime.ofInstant(Instant.from(startDate), ZoneOffset.UTC)

mais l'erreur

java.temps.DateTimeException: Impossible d'obtenir Instantanément de TemporalAccessor: 2015-12-10 de type java.temps.LocalDate]

J'ai aussi essayé:

startDate.atStartOfDay().atZone(ZoneOffset.UTC)

Cela donne des résultats inattendus.

J'ai regardé l'API et essayé quelques autres méthodes, mais pas de chance jusqu'à présent.

Est-il un autre moyen pour convertir LocalDate à ZonedDateTime?

Pourquoi pensez-vous que la zone offset +02:00?
Si vous voulez un ZonedDateTime, vous avez besoin d'un ZoneId. Pas seulement un Écartfuseau. Et votre question n'a pas beaucoup de sens. Tout d'abord vous dire que vous le souhaitez dans le fuseau horaire UTC, et puis vous dire qu'il devrait être 2015-12-10T00:00:00+02:00. Si c'est +02:00, c'est pas l'heure UTC. UTC +00:00. Si vous voulez une date de temps fixes avec un décalage UTC, vous devez utiliser un OffsetDateTime: OffsetDateTime offsetDateTimeDateTime = date.atStartOfDay().atOffset(ZoneOffset.ofHours(2));
Mes excuses: Écartfuseau s'étend ZoneId, de sorte que vous renvoie l'ZonedDateTime. Le reste de mon commentaire est toujours debout.
Je vous remercie!

OriginalL'auteur SelfTaught | 2015-08-14