2014-09-01 158 views
0

一個JS Date對象讓我的UTC時間戳從POCO文庫,其中的文檔說:如何從UTC時間戳

返回基於UTC時間表示的時間戳。 UTC基準時間是1582年10月15日午夜。分辨率爲100納秒。

有了這個,我可以做類似

// utctime = 136288658313819610 
d = new Date(0); 
d.setUTCMilliseconds(utctime/1000/10); 
// d = Date 2401-11-18T12:03:51.381Z 

當使用電流utctime,生成的日期是在某個時候2401年,這與去年的時代似乎即將權1582

要將其轉換爲正確的UTC時間,我需要初始化Date,並帶有一些代表時間差的負值,但我無法找到這樣的值。

我還需要將UTC時間轉換爲本地時間以獲得有用的結果,但爲此我必須默認初始化Date對象,對不對?也許這可以用減法來完成?

回答

0

我想通了!您可以手動設置曆元,而無需計算出曆元的精確第二差異。時區可用於getTimezoneOffset。

// utctime = 136288807241160530 
d = new Date(); 
d.setFullYear(1582); 
d.setMonth(9); 
d.setDate(15); 
d.setHours(0); 
d.setMinutes(-d.getTimezoneOffset()); 
d.setSeconds(0); 
d.setMilliseconds(utctime/1000/10); 
// d = Date 2014-09-01T16:12:04.116Z