我有一個時間戳,我想將其轉換爲日期。我試過這個時間戳:1336425840.這應該是星期一,2012年5月7日21:24:00 GMT,其中GMT是模擬器應該設置的時區。我嘗試這樣做:在Android模擬器中將unix時間戳轉換爲日期
final Calendar c = Calendar.getInstance();
c.setTimeInMillis(1336425840*1000);
Date d = c.getTime();
Log.i("MyTag", "Hours: " + d.getHours());
結果是:時間:23
所以它看起來像返回的日期是根據GMT + 2,這是時區我的系統設置來計算。我期望g.hetHours()返回21,因爲仿真器的時區似乎設置爲GMT。
此外,該時間戳是使用mktime讀取C中的實際日期的結果,這似乎會返回正確的時間戳。但Java似乎指的是不同的時區。我做錯了什麼?爲什麼不是星期一,2012年5月7日21:24:00 GMT返回?
檢查了這一點的http:/ /stackoverflow.com/questions/2818086/android-get-current-utc-time – moujib