2012-01-31 56 views
3

http://docs.oracle.com/javase/6/docs/api/java/sql/Timestamp.html獲得毫微成的java.sql.Timestamp

唯一的非棄用構造函數需要米利斯。有沒有辦法要求'現在',包括納米。

+0

對不起,我不明白你的問題。我在這裏看到了方法['getNanos'](http://docs.oracle.com/javase/6/docs/api/java/sql/Timestamp.html#getNanos%28%29),所以我很困惑到你要求的東西。你能否澄清一下有什麼問題? – blahman 2012-01-31 02:11:37

+0

你的答案似乎表明你明白我的問題。 – bmargulies 2012-01-31 02:50:31

+0

哈哈,對不起,我讀了一些答案,並意識到一個ctor是什麼,然後開始閱讀併發布了一個答案。抱歉,關於混淆^^' – blahman 2012-01-31 02:52:00

回答

3

正如在其他答案的評論中已經指出的那樣,System.nanoTime()並沒有真正返回有關納秒時間的任何有意義的值。

我想指向this discussion from SO,它指出了爲什麼我們無法獲得更好的時間測量精度。這似乎意味着,根據您的要求並不是真的有可能做到這一點,並且由於可移植性和平臺限制,嘗試幷包含此功能會違反一些Java設計目標。

所以,在回答你的問題時,我會說不,但只是基於比我更重要的人的回答。

4

getNanos()/setNanos(int) on Timestamp存在以支持以納秒級精度返回時間戳數據類型的數據庫。

Java沒有辦法以毫微秒的精度獲取當前時間。 System.nanoTime()從JVM選擇的某個未知曆元返回已過去的納秒。測量兩次調用System.nanoTime()之間的時間間隔非常有用。雖然System.nanoTime()可以測量調用到納秒精度之間的經過時間,但它不一定精確到如javadocs中提到的納秒精度。

+0

+1給出了爲什麼getNanos()和setNanos(int)存在的原因 – blahman 2012-01-31 02:49:12