2015-12-09 190 views
0

我有一個unix時間戳 - 1449688800,這個時間戳是特定於時區洛杉磯/加州。如何根據特定時區將unix時間戳轉換爲時間?

我怎麼能這個時間戳轉換爲是你的意思是結果與洛杉磯/加州時區java.Date對象JAVA

+1

這個數字已經是洛杉磯/卡利時區還是您需要轉換它?因爲如果是UTC,你可以從中減去8小時,並且很好。 –

回答

-1

上面提到的時區?

讓我們嘗試一下,將您的本地時間戳轉換爲全局時間戳,然後創建java.Date。

要轉換爲全局,您可能需要計算時區偏移量。

0

Java毫秒自1970年1月1日起。Unix time是自1970年1月1日以來的秒(UTC)(因此如果它是來自UTC的unix時間戳,否則它不是Unix時間戳(刪除或添加小時根據需要))

洛杉磯的time zoneTimeZone.getTimeZone("America/Los_Angeles")

這導致我們

Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("America/Los_Angeles")); 
cal.setTimeInMillis(unixTime*1000); 
cal.add(Calendar.HOUR, amount of non corrisponding to unix timestamp from UTC); 
0

從原點時區轉換成一定的時間到目標時區:

public static long convertToTimeZone(long initialTime, TimeZone origin, TimeZone target) 
{ 
    return initialTime + target.getRawOffset() - origin.getOffset(initialTime); 
} 
相關問題