Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中将Unix时间戳转换为ISO 8601?_Javascript - Fatal编程技术网

如何在JavaScript中将Unix时间戳转换为ISO 8601?

如何在JavaScript中将Unix时间戳转换为ISO 8601?,javascript,Javascript,我有一个这样的时间戳1331209044000,我想把它转换成ISO 8601时间戳。如何使用JavaScript转换它 我使用jQuery“timeago”插件-假设您的时间戳以毫秒为单位(或者您可以轻松转换为毫秒),那么您可以使用和 var s=新日期(133120904000).toISOString(); s、 //=>“2012-03-08T12:17:24.000Z” 如果您针对的是不支持EMCAScript第5版的旧浏览器,那么您可以使用此问题中列出的策略:由于提供了链接,我使用

我有一个这样的时间戳
1331209044000
,我想把它转换成ISO 8601时间戳。如何使用JavaScript转换它


我使用jQuery“timeago”插件-

假设您的时间戳以毫秒为单位(或者您可以轻松转换为毫秒),那么您可以使用和

var s=新日期(133120904000).toISOString();
s、 //=>“2012-03-08T12:17:24.000Z”

如果您针对的是不支持EMCAScript第5版的旧浏览器,那么您可以使用此问题中列出的策略:

由于提供了链接,我使用的解决方案

// 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));
//转换为ISO 8601时间戳
函数ISODateString(d){

功能板(n){返回nSee以获取有关标准的更多信息。恐怕您只需基于
日期
组件构建一个字符串。这看起来很有希望:这是ECMAScript 5-请参阅此处了解兼容性和回退代码:不要忘记,unix时间戳以秒为单位,但Javascript以毫秒为单位。因此它实际上是
new Date(timestamp*1000).toISOString();
。此注释是为将来的我准备的:它必须以毫秒为单位!当然,此函数假定日期实际位于Zulu(GMT+0)时区。