是否有简单的方法将日期对象转换为GMT时间,但也以ISO 8601格式显示?
答案 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字符串: