我有GMT時間變量,我將以UTC轉換。我後我的代碼..Android從GMT毫秒獲得UTC毫秒
long mytime = 1376824500000;
Date date = new Date(mytime);
String time = new SimpleDateFormat("HH:mm").format(date);
這回在某些設備"13:15"
,但我想有總是UTC日期:"11:15"
。 我該怎麼做? 謝謝。
我有GMT時間變量,我將以UTC轉換。我後我的代碼..Android從GMT毫秒獲得UTC毫秒
long mytime = 1376824500000;
Date date = new Date(mytime);
String time = new SimpleDateFormat("HH:mm").format(date);
這回在某些設備"13:15"
,但我想有總是UTC日期:"11:15"
。 我該怎麼做? 謝謝。
目前尚不清楚UTC和GMT之間有什麼不同 - 爲了我們在這裏談論的目的,它們是相同的。 (他們不太技術上是相同的,但是......)
在格式化而言,你只需要設置時區上的格式化程序:
// TODO: Consider setting a locale explicitly
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
format.setTimeZone(TimeZone.getTimeZone("UTC"));
String time = format.format(date);
非常感謝!我沒有設置時區。在某些設備中,我獲得了GMT + 2.00格式的值,而在其他設備中,我獲得了utc值。謝謝。 – Tenaciousd93
@ Tenaciousd93:是的,你還沒有設置時區,所以你得到當地時區。如果你想要UTC時區,你需要明確這一點。 –
好的,對不起,我誤解了差異。 – Tenaciousd93
試試這個:
long mytime = 1376824500000;
Date date = new Date(mytime);
SimpleDateFormat formater = = new SimpleDateFormat("HH:mm");
formater .setTimeZone(TimeZone.getTimeZone("GMT"));
String time formater.format(date);
將時區設置爲GMT。 BTW與大多數語言一樣,Java不支持閏秒,所以UTC實際上映射到GMT。 –