2012-01-31 3 views
3

http://docs.oracle.com/javase/6/docs/api/java/sql/Timestamp.htmlは唯一の非推奨されないctorのは、ミリ秒を要したjava.sql.Timestamp

にnanos値を取得します。ナノを含む「今」を求める方法がないのですか?

+0

申し訳ありませんが、私はあなたの質問を理解していません。ここでメソッド['getNanos'](http://docs.oracle.com/javase/6/docs/api/java/sql/Timestamp.html#getNanos%28%29)が表示されるので、私はあなたが求めているものに。あなたは何が間違っているかを明らかにしてください。 – blahman

+0

あなたの答えはあなたが私の質問を理解していることを示しているようです。 – bmargulies

+0

ハハ、申し訳ありませんが、私はいくつかの答えを読んで、ctorが何であるかを理解してから、読み始め、答えを投稿しました。なぜなら、 'getNanos()'と 'setNanos(int)'が存在する理由を与えるために、混乱について^^ ' – blahman

答えて

3

他の回答についてのコメントで指摘されているように、System.nanoTime()は、実際にはナノ秒単位で時間に関する意味のある値を返しません。

this discussion from SOを指摘しておきたいのですが、時間測定の精度が向上しない理由を指摘したいと思います。あなたが尋ねるようにするのは本当に可能ではないことを意味するようであり、移植性とプラットフォームの制約のために、この能力を試してみることはJavaのいくつかの設計目標に反するでしょう。

あなたの質問に答えて、私はいいえと言いますが、私よりも多くの担当者の回答に基づいています。

4

getNanos()/setNanos(int) on Timestampナノ秒の精度でタイムスタンプデータ型を返すデータベースをサポートするために存在します。

Javaには、ナノ秒の精度で現在時刻を取得する手段がありません。 System.nanoTime()は、JVMによって選択された未知のエポックから経過したナノ秒を返します。これは、2つのコールの間の経過時間をSystem.nanoTime()で測定する場合に便利です。それでも、System.nanoTime()は、ナノ秒精度の呼び出しの間の経過時間を測定できますが、javadocsで説明したように、ナノ秒の精度には必ずしも正確ではありません。

+0

+1 – blahman

関連する問題