كيفية إخراج التاريخ في جافاسكريبت بصيغة ISO 8601 بدون المللي ثانية ومع Z


إليك طريقة قياسية لتسلسل التاريخ كسلسلة ISO 8601 في جافاسكريبت:

var now = new Date();
console.log( now.toISOString() );
// outputs '2015-12-02T21:45:22.279Z'

أنا بحاجة فقط إلى نفس المخرجات، لكن بدون الأجزاء من الثانية. كيف يمكنني إخراج 2015-12-02T21:45:22Z؟

الإجابة رقم 1

طريقة بسيطة:

console.log( new Date().toISOString().split('.')[0]+"Z" );

الإجابة رقم 2

استخدم القطع لإزالة الجزء غير المرغوب فيه

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

الإجابة رقم 3

هذا هو الحل:

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

يجد النقطة (.) ويزيل 3 حروف.

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

الإجابة رقم 4

يمكنك استخدام مزيج من split() وshift() لإزالة المللي ثانية من سلسلة ISO 8601:

let date = new Date().toISOString().split('.').shift() + 'Z';

console.log(date);