【问题标题】:JavaScript dates: toGMTString, but also ISO 8601 format?JavaScript 日期:toGMTString,还有 ISO 8601 格式?
【发布时间】:2011-11-03 22:30:33
【问题描述】:

有没有一种简单的方法可以将日期对象转换为 GMT 时间,同时也以 ISO 8601 格式显示?

【问题讨论】:

    标签: javascript date format


    【解决方案1】:

    有没有一种简单的方法可以将日期对象转换为 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'
    }
    
    【解决方案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")
    

    【讨论】:

      【解决方案3】:

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

      MDN Page on date.toISOString()

      【讨论】:

        猜你喜欢
        • 2016-03-06
        • 1970-01-01
        • 1970-01-01
        • 2013-05-22
        • 1970-01-01
        • 2015-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多