JavaScript日期:toGMTString,还有ISO 8601格式?

时间:2011-08-25 18:06:16

标签: javascript date format

是否有简单的方法将日期对象转换为GMT时间,但也以ISO 8601格式显示?

3 个答案:

答案 0 :(得分:4)

  

是否有一种简单的方法可以将日期对象转换为GMT时间

是:

var d = new Date();
d.toGMTString()
  

但也以ISO 8601格式显示?

所采取的函数form here(那里也有ISO 8601解析器)

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'
}

答案 1 :(得分:2)

我遇到的最佳解决方案是使用 Moment.js javascript库并使用以下代码:

使用时区信息和毫秒获取当前ISO时间

now = moment().format("YYYY-MM-DDTHH:mm:ss.SSSZZ")
// "2013-03-08T20:11:11.234+0100"

now = moment().utc().format("YYYY-MM-DDTHH:mm:ss") + "Z"
// "2013-03-08T19:11:11Z" <- better use the native .toISOString() 

使用时区信息但没有毫秒

获取本机JavaScript Date对象的ISO时间
var current_time = Date.now();
moment(current_time).format("YYYY-MM-DDTHH:mm:ssZZ")

答案 2 :(得分:0)

这是MDN date.toISOString()页面,其中还包含跨浏览器兼容性代码。两种方式都从日期实例创建ISO 8601字符串:

MDN Page on date.toISOString()