我从服务器获取一个16位数的时间戳。 例如:我从服务器获得“1485157072432000”,当我使用时间戳转换器时,显示为 Wed Oct 03 49032 04:43:52 GMT + 0530(印度标准时间)
但是,当我从16位数字中删除最后3位数时,我得到的确切时间。但我从服务器获得了16位数的时间戳。从16位数字时间戳获取准确时间的方法是什么?
答案 0 :(得分:0)
由于您需要微秒精度,我想唯一的解决方案是使用自定义对象存储您需要的所有信息。
我建议您使用由GitHub用户 kamikane 开发的this utility之类的内容。
特别需要他开发的 parse 函数:
function parse(nano) {
var ms = nano / 1000;
var ss = ms / 1000;
var mm = ss / 60;
var hh = mm / 60;
var dd = hh / 24;
var microseconds = Math.round((ms % 1) * 1000);
var milliseconds = Math.floor(ms % 1000);
var seconds = Math.floor(ss % 60);
var minutes = Math.floor(mm % 60);
var hours = Math.floor(hh % 24);
var days = Math.floor(dd);
return { microseconds: microseconds, milliseconds: milliseconds, seconds: seconds, minutes: minutes, hours: hours, days: days, toString: toString };
};
使用示例:
parse(1485157072432010);
{ microseconds: 10, milliseconds: 432, seconds: 52, minutes: 37, hours: 7, days: 17189 }