我有一个 java.sql.Time
(00:04:24)
,我想从中获取毫秒(或秒)数:
ResultSet rs = ...;
java.sql.Time time = rs.getTime("DURATION");
long millis = time.getTime();
但结果是 -3336000
而不是 264000
。
点击here查看我的输出。
为什么输出不是264000
?
最佳答案
如果您使用的是现代 JDBC 版本,则可以使用:
LocalTime time = rs.getObject("DURATION", LocalTime.class);
long millis = time.toSecondOfDay() * 1000 + time.get(MILLI_OF_SECOND);
关于毫秒的计算,不幸的是,没有方法可以获取当天的毫秒数,因为我就是这样使用的。
或者按照@Andreas的建议:
long millis = time.toNanoOfDay() / 1000000
关于java - 如何获取 java.sql.Time 表示的毫秒数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60685351/