Javascript日期格式的16位时间戳

时间:2017-01-24 07:49:37

标签: javascript timestamp

我从服务器获取一个16位数的时间戳。 例如:我从服务器获得“1485157072432000”,当我使用时间戳转换器时,显示为 Wed Oct 03 49032 04:43:52 GMT + 0530(印度标准时间)

但是,当我从16位数字中删除最后3位数时,我得到的确切时间。但我从服务器获得了16位数的时间戳。从16位数字时间戳获取准确时间的方法是什么?

1 个答案:

答案 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 }