java - formatear - localdate convert to date
Java 8-Convertir LocalDate a ZonedDateTime (2)
Al convertir objetos menos específicos en objetos más específicos, use los métodos ''at'':
ZonedDateTime zdt = startDate.atStartOfDay(ZoneOffset.UTC);
Al pasar el desplazamiento UTC no se obtendrá un resultado de +02: 00, lo que sugiere que está intentando lograr algo más.
Soy nuevo en el paquete java.time. Tengo una fecha local 2015-12-10. Necesito convertir esto a ZonedDateTime. La hora debe ser 00:00:00 y la zona es ZoneOffset.UTC.
Después de la conversión, ZonedDateTime debe ser 2015-12-10T00: 00: 00 + 02: 00.
Estoy almacenando el LocalDate en una variable llamada startDate.
Lo intenté:
ZonedDateTime.ofInstant(Instant.from(startDate), ZoneOffset.UTC)
pero recibe el error
java.time.DateTimeException: no se puede obtener Instant desde Accesor temporal: 2015-12-10 de tipo java.time.LocalDate]
También intenté:
startDate.atStartOfDay().atZone(ZoneOffset.UTC)
Esto da resultados inesperados.
Miré la API e intenté algunos otros métodos, pero hasta ahora no he tenido suerte.
¿Hay alguna otra manera de convertir LocalDate a ZonedDateTime?
Supongo que el problema ya no es relevante, pero para propósitos de google:
LocalDate localDate = LocalDate.parse("2017-07-22");
ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault());
// => 2017-07-22T00:00+05:30[Asia/Kolkata]
fuente https://beginnersbook.com/2017/10/java-convert-localdate-to-zoneddatetime/