Pregunta

Soy nuevo en joda-tiempo Y no encontré ejemplos en ningún lado para hacer algunas cosas simples.

Quiero hacer un objeto donde guardar un valor de tiempo lea de una tabla en una base de datos (una java.sql.Time - p.ej "18:30:00") No me importa la zona horaria, así que creo que necesito LocalDate. Pero el problema es que no pude crear un LocalDate objeto basado en eso Time objeto.

Lo intenté sin éxito LocalDate.fromDateFields(), DateTimeParser.parseInto(), DateTimeParser.parseDateTime().

Editar: debería haber usado LocalTime. Estos trabajan:

java.sql.Time time = Time.valueOf("18:30:00");
LocalTime lt1 = LocalTime.fromDateFields(time);
LocalTime lt2 = new LocalTime(time);
¿Fue útil?

Solución

De acuerdo a la documentación, debería poder construir una fecha local directamente pasando una java.util.date como el único argumento del constructor. Dado que un java.sql.time se extiende java.util.date, debería poder poder

final LocalDate ld = new LocalDate(mySqlTime);

Esto funciona para mí:

System.out.println(new LocalDate(Time.valueOf("18:30:00")));

Por otro lado, no es algo significativo, ya que siempre obtendrá el 1 de enero de 1970. Pero imagino que sabes lo que estás haciendo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top