我正在使用Apache Meta-model
从MS SQL SERVER 2008 R2
数据库中提取值。MS SQL SERVER 2008 R2
数据库中有一个类型的字段,TIME(7)
其 java 等效类型是java.sql.Time
但java.sql.Time
不显示毫秒。例如
Actual `TIME(7)` value in database: `12:28:16.9475678`
whereas I getting: `12:28:16`
如何以毫秒为单位获取时间?
更新:
当我尝试使用org.joda.time.LocalTime
如下所示的毫秒数时:
LocalTime localTime = new LocalTime(((Time)row.getValues()[pos]).getTime());
localTime.toString();
输出:(12:28:16.947
它显示 的舍入值9475678
)
将其转换为 后String
,我得到毫秒的舍入值12:28:16.947
。毫秒精度丢失。
请建议如何在不四舍五入的情况下获得以毫秒为单位的确切值?
更新:
我尝试按照建议使用 getNanos() ,但我得到的毫秒数为零,除了我的确切毫秒值,例如:
实际值:12:28:16.9475678 我得到 12:28:16.9470000
代码:-
long timestamp =new Timestamp(((Time)row.getValues()[pos]).getTime()).getNanos();