2015-12-02 7 views
14

は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を出力するにはどうすればよいですか?  

答えて

35

簡単な方法:

console.log(now.toISOString().split('.')[0]+"Z"); 
+2

正規表現を避けることは私の書籍にプラスです;) – Rob

4

使用スライス望ましくない部分を除去する

var now = new Date(); 
alert(now.toISOString().slice(0,-5)+"Z"); 
6

これが解決策です:

var now = new Date(); 
var str = now.toISOString(); 
var res = str.replace(/\.[0-9]{3}/, ''); 
alert(res); 

を検索します。 (ドット)と3文字を削除します。

http://jsfiddle.net/boglab/wzudeyxL/7/

0

またはおそらくこれで、それを上書きしますか? (これはhereからの変更されたpolyfillです)

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'; 
};