我从文档所说的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 :(得分:0)
我明白了!您可以手动设置纪元,而无需计算时期的确切第二个差异。 getzonezoneOffset可以使用时区。
// 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