javascript - 16 位时间戳转 Javascript 日期格式

标签 javascript timestamp

我从服务器获取 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/

相关文章:

javascript - 如何延迟内联javascript的执行

mysql - 将行中的所有列从日期转换为时间戳 MySQL

mysql 获取小时/分钟/秒的总和

javascript - 如何根据值选择和检查这些类型的复选框?

javascript - 顺时针旋转 Svg 元素

javascript - 如何使用javascript根据当前时间创建一串数字?

parsing - Amazon SES 消息 ID 中的此十六进制时间戳的格式是什么?

git - 将 CVS 存储库导入 GIT 会导致一些与时间戳相关的误导行为

javascript - jQuery.get 无法在 github 站点上使用 https(甚至请求同一域)

javascript - 仅在 safari 中使用 javascript 验证