[英]How to convert unix timestamp into time based on a specific timezone?
我有一個unix時間戳-1449688800,該時間戳專用於洛杉磯/加利福尼亞州的時區。
如何將這個時間戳轉換為JAVA上面提到的時區
Java毫秒是從1970年1月1日起。Unix時間是從1970年1月1日起,以UTC為單位的秒(因此,如果它是unix時間戳,則來自UTC,否則不是Unix時間戳(根據需要刪除或添加小時)。 )
洛杉磯所在的時區為TimeZone.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);
要將特定時間從原始時區轉換為目標時區:
public static long convertToTimeZone(long initialTime, TimeZone origin, TimeZone target)
{
return initialTime + target.getRawOffset() - origin.getOffset(initialTime);
}
您的意思是結果是java.Date對象,其天使/加利福尼亞時區嗎?
讓我們嘗試一下,將您的本地時間戳轉換為全局時間戳,然后創建java.Date。
要轉換為全局,您可能需要計算時區偏移量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.