2011-07-15 35 views
-2

喜我嘗試的日期值以毫秒爲單位granuality轉換成使用
新的日期(millsecs)的Java日期 轉換值我得到的是落後3小時它應該是。奇怪的問題coverting毫秒到Java日期

我嘗試過使用在線工具來轉換millisec的值,並將其轉換爲正確的日期。 有人可以指出我想要什麼!

日Thnx

+3

也許你有一個時區問題?如果你發佈了有問題的代碼,它會有所幫助... –

+4

當你沒有顯示任何你正在使用的代碼時,我們可能會**告訴你你做錯了什麼? –

+0

你是如何獲得這個「毫秒」的價值呢? –

回答

2

一個java.util.Date沒有一個小時 - 至少不是在你可能指的是路。請嘗試以下,你會看到日期簡直是一個時間點,你可以具體爲X毫秒,因爲那個時代:

long millisec = System.currentTimeMillis(); 
Date date = new Date(millisec); 
long millisec2 = date.getTime(); 

如果我打印此日期在紐約市的時區,這將對應到一天中的某個小時。如果我以格林威治標準時間打印相同的日期,那麼小時將增加四個小時。您可能正在以這樣的方式打印該值,以致您看到相同的時區效果。

將日期視爲時間點。這是自紀元以來的特定毫秒數。我們選擇3PM PDT作爲我們的時間點。這相當於美國東部時間下午6點換句話說,所有這三個值(自時代以來的毫秒數,PDPM的3PM和美國東部時間下午6點)在時間軸上佔據相同的位置。

或者,這是另一種解釋。某一天的3PM PDT與那天的美國東部時間下午3點不同。假設3PM PDT對應於自紀元以來的M毫秒。然後,3PM EDT = M - 10,800,000毫秒(這是三小時內的milleseconds數)。