Как получить количество миллисекунд, представленных java. sql .Time? - PullRequest
2 голосов
/ 14 марта 2020

У меня есть java.sql.Time (00:04:24), из которого я хочу получить количество миллисекунд (или секунд):

ResultSet rs = ...;
java.sql.Time time = rs.getTime("DURATION");
long millis = time.getTime();

Но результат будет -3336000 вместо 264000.

Нажмите здесь , чтобы увидеть мой вывод.

Почему не вывод 264000?

1 Ответ

2 голосов
/ 14 марта 2020

Если вы используете современную версию JDB C, вы можете использовать:

LocalTime time = rs.getObject("DURATION", LocalTime.class);
long millis = time.toSecondOfDay() * 1000 + time.get(MILLI_OF_SECOND);

По поводу подсчета миллисекунд, к сожалению, нет способа получить миллисекунды дня, для этого Я использовал этот способ.

Или как предложено @ Andreas :

long millis = time.toNanoOfDay() / 1000000
...