TE:
Tengo una java.sql.Time
(00:04:24)
de las que quiero obtener el número de milisegundos (o segundos):
ResultSet rs = ...;
java.sql.Time time = rs.getTime("DURATION");
long millis = time.getTime();
Pero el resultado es -3336000
en lugar de 264000
.
Haga clic aquí para ver mi salida.
¿Por qué no es la salida 264000
?
YCF_L:
Si está utilizando la versión moderna de JDBC, puede utilizar:
LocalTime time = rs.getObject("DURATION", LocalTime.class);
long millis = time.toSecondOfDay() * 1000 + time.get(MILLI_OF_SECOND);
Sobre el cálculo de milisegundos, por desgracia, no hay ningún método para obtener los milisegundos del día, para que utilicé esa manera.
O como sugiere @Andreas :
long millis = time.toNanoOfDay() / 1000000