我有一个 Date
对象。 如何呈现以下代码段的 title
部分?
<abbr title="2010-04-02T14:12:07">A couple days ago</abbr>
我有来自另一个库的“相对时间”部分。
我尝试了以下方法:
function isoDate(msSinceEpoch) {
var d = new Date(msSinceEpoch);
return d.getUTCFullYear() + '-' + (d.getUTCMonth() + 1) + '-' + d.getUTCDate() + 'T' +
d.getUTCHours() + ':' + d.getUTCMinutes() + ':' + d.getUTCSeconds();
}
但这给了我:
"2010-4-2T3:19"
最佳答案
已经有一个函数叫做 toISOString()
:
var date = new Date();
date.toISOString(); //"2011-12-19T15:28:46.493Z"
如果,不知何故,你在 a browser不支持它,我已经为您服务了:
if (!Date.prototype.toISOString) {
(function() {
function pad(number) {
var r = String(number);
if (r.length === 1) {
r = '0' + r;
}
return r;
}
Date.prototype.toISOString = function() {
return this.getUTCFullYear() +
'-' + pad(this.getUTCMonth() + 1) +
'-' + pad(this.getUTCDate()) +
'T' + pad(this.getUTCHours()) +
':' + pad(this.getUTCMinutes()) +
':' + pad(this.getUTCSeconds()) +
'.' + String((this.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5) +
'Z';
};
}());
}
console.log(new Date().toISOString())
关于javascript - 如何在 JavaScript 中输出 ISO 8601 格式的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2573521/