Apache Meta-model
データベースから値を抽出するために使用していMS SQL SERVER 2008 R2
ます。Java の同等のタイプがミリ秒を表示していないタイプのMS SQL SERVER 2008 R2
データベースにフィールドがあります。例えばTIME(7)
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();