我从服务器获取 16 位时间戳。 例如:我从服务器获得“1485157072432000”,当我使用时间戳转换器时,它显示为Wed Oct 03 49032 04:43:52 GMT+0530(印度标准时间)
但是,当我从 16 位数字中删除最后 3 位数字时,我得到了准确的时间。但我从服务器获取 16 位时间戳。如何从 16 位时间戳获取准确时间?
最佳答案
由于您需要微秒精度,我猜唯一的解决方案是使用自定义对象来存储所需的所有信息。
我建议您使用类似 this utility 的内容由 GitHub 用户 kamikane 开发。
特别是您需要他开发的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 }
关于javascript - 16 位时间戳转 Javascript 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41822742/