Cómo obtener el número de milisegundos representados por un java.sql.Time?

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 -3336000en 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

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=284365&siteId=1
Recomendado
Clasificación