2014-09-01 162 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