Soalan: Saya mempunyai tarikh JavaScript dalam format "Ahad 11 Mei 2014". Bagaimanakah saya boleh menukarnya kepada format ISO 8601 "2014-05-11"?
Percubaan Awal:
Coretan kod di bawah cuba memformat tarikh menggunakan kaedah split() tetapi gagal mencapai yang dikehendaki hasil:
function taskDate(dateMilli) { var d = (new Date(dateMilli) + '').split(' '); d[2] = d[2] + ','; return [d[0], d[1], d[2], d[3]].join(' '); }
Penyelesaian:
Untuk menukar tarikh kepada format ISO 8601, manfaatkan kaedah toISOString() terbina dalam. Kaedah ini mengembalikan tarikh dalam format yang mematuhi piawaian ISO 8601:
let yourDate = new Date(); yourDate.toISOString().split('T')[0];
Kaedah toISOString() mengembalikan rentetan dalam format berikut:
yyyy-mm-ddThh:mm:ss.ssssssZ
The split( 'T')[0] sebahagian daripada kod hanya mengambil bahagian tarikh rentetan, tidak termasuk masa dan zon waktu maklumat.
Nota Tambahan:
Untuk mengendalikan zon waktu dengan betul, ubah suai kod seperti berikut:
const offset = yourDate.getTimezoneOffset(); yourDate = new Date(yourDate.getTime() - (offset * 60 * 1000)); return yourDate.toISOString().split('T')[0];
Atas ialah kandungan terperinci Bagaimana untuk Menukar Tarikh JavaScript kepada Format ISO 8601 (yyyy-mm-dd)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!