55

我有这样的时间戳1331209044000,我想将其转换为 ISO 8601 时间戳。如何使用 JavaScript 转换它?

我使用 jQuery“timeago”插件 - http://timeago.yarp.com/

4

2 回答 2

104

假设您的时间戳以毫秒为单位(或者您可以轻松转换为毫秒),那么您可以使用Date构造函数date.toISOString()方法

var s = new Date(1331209044000).toISOString();
s; // => "2012-03-08T12:17:24.000Z"

如果您针对不支持 EMCAScript 第 5 版的旧版浏览器,则可以使用以下问题中列出的策略:如何在 JavaScript 中输出 ISO 8601 格式的字符串?

于 2012-10-12T23:05:01.167 回答
2

我使用的解决方案,感谢提供的链接

// convert to ISO 8601 timestamp
function ISODateString(d){
    function pad(n){return n<10 ? '0'+n : n}
    return d.getUTCFullYear()+'-'
        + pad(d.getUTCMonth()+1)+'-'
        + pad(d.getUTCDate())+'T'
        + pad(d.getUTCHours())+':'
        + pad(d.getUTCMinutes())+':'
        + pad(d.getUTCSeconds())+'Z'
}

var d = new Date(parseInt(date));
console.log(ISODateString(d));
于 2012-10-13T19:32:39.020 回答