2012-05-09 29 views
0

我在解析使用JSON從服務器返回的時間戳字符串時遇到了一些麻煩。我使用下面的代碼從一個HashMap中提取的時間戳,並在日誌顯示它:解析Android中的Unix時間戳的問題

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
Long time = Long.parseLong(event.get("time")); 
final Calendar cal = Calendar.getInstance(); 
cal.setTimeInMillis(time); 
String event_date = sdf.format(cal.getTime()); 
Log.v("Date", event_date); 

但是,每戳我進入這個方法也帶回日期1970年1月16日,時間戳的例子我試圖解析的是1336773600這應該對應於2012年5月11日。我看不出我在這裏做錯了什麼,但顯然我是。有什麼建議麼?

+0

什麼是您正在使用的事件對象?事實上,這可能不是以毫秒爲單位的時間? – RivieraKid

回答

7

Unix時間戳記是自紀元以來的秒數。 Java使用自紀元以來的毫秒數。

將您的unix時間戳乘以1000來調整。

+0

工作完美,謝謝查克諾里斯。 – SamRowley

1

嘗試:

cal.setTimeInMillis(time * 1000); 

到秒轉換爲毫秒。