2011-08-25 261 views

回答

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

感谢您的回复。 – Upperstage

+0

[Date.prototype.toGMTString()已弃用](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toGMTString)! – orad

0

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

MDN Page on date.toISOString()

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() 

要获取ISO时间具有时区信息但没有毫秒的本机JavaScript日期对象

var current_time = Date.now(); 
moment(current_time).format("YYYY-MM-DDTHH:mm:ssZZ")