2012-10-15 139 views
9

我有一個類正在使用java.util.Date類創建一個日期對象,並使用getTime()獲得當前毫秒。新日期()。getTime()不返回時間戳,以毫秒爲單位

我在Java文檔中看到getTime()返回毫秒,同樣的情況出現在我的機器上。

我有另外一臺服務器,當我在服務器上部署我的應用程序時,同樣的getTime()以秒爲單位返回時間戳。

例如在服務器

  • 值:當地1350054625
  • 值:1350054625000

我想知道這是怎麼可能,我想同樣的代碼在本地和我再次以毫秒爲單位得到時間戳。

下面的代碼部分...

String longTime = new Long((new Date().getTime())).toString(); 
if(log.isDebugEnabled())log.debug("LAST_FEED_TIME will be " + longTime + " stored."); 
+0

你使用的是什麼服務器? – Abubakkar

+1

你如何從服務器獲取價值? – strmstn

+3

Date是從System.currentTimeMillis()獲得的值的包裝;''你可以嘗試使用它嗎? –

回答

7

'新的日期()又使用System.currentTimeMillis的()

System.currentTimeMillis的

返回當前時間以毫秒爲單位。請注意,儘管返回值的時間單位爲 毫秒,但 值的粒度取決於底層操作系統,可能會更大。例如,許多操作系統以數十個單位來測量時間,其中毫秒數爲幾十個單位。

請參閱類別說明日期討論輕微 「計算機時間」和協調的世界時間(UTC)之間可能出現的差異。

來源:http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/System.html#currentTimeMillis()

+5

這並不能解釋爲什麼相同的代碼在不同的機器上運行時會返回不同的結果,是嗎? – Ewald

+1

是的,這不回答問題。但我認爲這些信息有助於發現問題。例如:「一些操作系統以幾十毫秒爲單位來測量時間。」 服務器中每個OS的時間單位可以是秒。 – Munesh

+1

這是真的 - 但是,然後Java應該以相同的格式返回它,但毫秒設置爲'0'。我明白你爲什麼放置信息,我只是檢查,看看我是否失去了一些東西:) – Ewald

相關問題