将nanos导入java.sql.Timestamp

时间:2012-01-31 02:02:36

标签: java jdbc time timestamp

http://docs.oracle.com/javase/6/docs/api/java/sql/Timestamp.html

唯一不贬低的ctor需要毫秒。有没有办法要求现在'包括nanos。

2 个答案:

答案 0 :(得分:4)

时间戳上的

getNanos()/setNanos(int)用于支持以纳秒精度返回时间戳数据类型的数据库。

Java无法以纳秒精度获取当前时间。 System.nanoTime()返回JVM选择的某个未知历元经过的纳秒数。它可用于测量两次System.nanoTime()调用之间的经过时间。即便如此,虽然System.nanoTime()可以测量调用纳秒精度之间的经过时间,但它并不一定准确到纳秒精度,如javadocs中所述。

答案 1 :(得分:3)

正如其他答案的评论中所指出的那样,System.nanoTime()并没有真正返回任何有关时间的有意义的值,以纳秒为单位。

我想指出this discussion from SO指出为什么我们无法在时间测量上获得更好的准确性。它似乎意味着你不可能按照你的要求去做,并且由于可移植性和平台限制,尝试包含这种能力会违反一些Java设计目标。

所以,在回答你的问题时,我会说不,但只是基于比我更多的人的答案。