我的目標是將表示Unix紀元時間(或自1970年1月1日午夜以來的毫秒數)轉換爲UTC(本地時間)的本地時間或GMT)時區。嘗試將Unix紀元時間轉換爲UTC本地日期/時間字符串
所以我有這樣的方法:
function formatDateTimeFromTicks(nTicks)
{
//'nTicks' = number of milliseconds since midnight of January 1, 1970
//RETURN:
// = Formatted date/time
return new Date(nTicks).toLocaleString();
}
由於我使用的1442004135000
值作爲一個例子,應該給我9/11/2015 8:42:15 PM
爲我的語言環境(here的,你可以檢查),但我的方法:
alert(formatDateTimeFromTicks(1442004135000));
給我9/11/2015 1:42:15 PM
。
任何想法爲什麼以及如何解決它?
什麼是你的區域設置?我得到8:42 pm,我的時區設置爲CEST。準確地說,我得到「11 septembre 2015 22:42:15 UTC + 2」 – Touffy
@Touffy:在這種情況下的時區應該不重要,因爲我需要它顯示UTC(或格林威治)時區的時間。區域設置應該僅用於格式化日期/時間本身。換句話說,它不應該轉換任何東西。 – c00000fd
對不起,你想要UTC。希望我的回答有幫助。 – Touffy