Quiero convertir java.time.LocalDateen java.util.Datetipo. Porque quiero establecer la fecha en JDateChooser. ¿O hay algún selector de fecha que admita java.timefechas?
372
Quiero convertir java.time.LocalDateen java.util.Datetipo. Porque quiero establecer la fecha en JDateChooser. ¿O hay algún selector de fecha que admita java.timefechas?
Respuestas:
Eso supone que su selector de fecha utiliza la zona horaria predeterminada del sistema para transformar las fechas en cadenas.
fuente
atStartOfDay(), ya que cambia el valor de la fecha, según tengo entendido?Aquí hay una clase de utilidad que uso para convertir las
java.timeclases más nuevas enjava.util.Dateobjetos y viceversa:Editado en base al comentario de @Oliv.
fuente
ZoneId.systemDefault()problemático porque las zonas horarias cambian a lo largo del año. Entonces, si el 01-enero estoy en la zona horaria -05: 00 (central), pero luego el 01-julio estoy en la zona horaria -06: 00 (luz del día central), ¿eso no causará resultados inexactos debido al horario de verano? ¿hora?Puedes usar el
java.sql.Date.valueOf()método como:No es necesario agregar información de hora y zona horaria aquí porque se toman implícitamente.
Ver LocalDate a java.util.Date y viceversa, ¿la conversión más simple?
fuente
java.sql.Dateestá destinado a la capa de base de datos, JDBC, JPA. La capa web (o cualquier aplicación cliente) debe estar absolutamente libre de cualquier dependencia dejava.sql.*.java.sql.Datees solojava.util.Datecon su tiempo establecido,00:00:00pero el punto en la perspectiva del diseño es quejava.sql.*no está destinado a una capa frontal con la que los clientes interactúan como Servlets / JSP.java.util.Dateen el lado de Java y /java.sql.Timestampo lo que sea aplicable desde eljava.sql.*lado de JDBC .java.sql.*clases serán una dependencia separada.java.time tiene la interfaz Temporal que puede usar para crear objetos instantáneos de la mayoría de las clases de tiempo. Instant representa milisegundos en la línea de tiempo en la Época, la referencia base para todas las demás fechas y horas.
Necesitamos convertir la fecha en un ZonedDateTime, con una hora y una zona, para hacer la conversión:
fuente
Para crear un java.util.Date a partir de un java.time.LocalDate , debe
El código podría tener el siguiente aspecto:
fuente
toEpochSecondse hereda dejava.time.chrono.ChronoZonedDateTime. Ver docs.oracle.com/javase/8/docs/api/java/time/chrono/…Esto funciona para mi:
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html#toString--
fuente
Solución Kotlin:
1) Pegue esta función de extensión en alguna parte.
2) Úselo y nunca vuelva a googlear esto.
fuente
fuente
Simple
fuente
fuente