Как вывести дату в javascript в ISO 8601 без миллисекунд и с Z
вот стандартный способ сериализации даты как строки ISO 8601 в JavaScript:
var now = new Date();
console.log( now.toISOString() );
// outputs '2015-12-02T21:45:22.279Z'
мне нужен точно такой же выход, но без миллисекунд. Как я могу вывести 2015-12-02T21:45:22Z
?
5 ответов
Это решение:
var now = new Date();
var str = now.toISOString();
var res = str.replace(/\.[0-9]{3}/, '');
alert(res);
находит . (точка) и удаляет 3 символов.
используйте slice для удаления нежелательной части
var now = new Date();
alert( now.toISOString().slice(0,-5)+"Z");
или, возможно, перезаписать его с этим? (это модифицированный полифилл из здесь)
function pad(number) {
if (number < 10) {
return '0' + number;
}
return number;
}
Date.prototype.toISOString = function() {
return this.getUTCFullYear() +
'-' + pad(this.getUTCMonth() + 1) +
'-' + pad(this.getUTCDate()) +
'T' + pad(this.getUTCHours()) +
':' + pad(this.getUTCMinutes()) +
':' + pad(this.getUTCSeconds()) +
'Z';
};