Rumah > Artikel > hujung hadapan web > Bagaimana untuk Membandingkan Hanya Bahagian Tarikh Dua Tarikh dalam JavaScript?
Apabila membandingkan dua tarikh, anda mungkin menghadapi situasi di mana anda hanya ingin mempertimbangkan komponen tarikh dan mengabaikan masa. Begini cara anda boleh mencapai ini dalam JavaScript.
Kod yang disediakan cuba membandingkan tarikh dengan menetapkan tarikh input pengguna kepada objek Tarikh baharu userDate, bagaimanapun, ia mengekalkan masa asal komponen dari sekarang. Ini menghasilkan perbandingan yang salah.
Untuk membandingkan bahagian tarikh secara bebas dari masa, anda perlu menetapkan komponen masa tarikh input pengguna secara eksplisit kepada sifar. Berikut ialah pendekatan yang betul:
userDate.setHours(0, 0, 0, 0);
Dengan melakukan ini, objek userDate akan mewakili komponen tarikh sahaja dan anda boleh membandingkannya dengan tepat dengan sekarang menggunakan > operator.
Daripada menggunakan syarat if, anda boleh menggunakan sintaks yang lebih mudah:
const result = userDate > now;
Pendekatan lain ialah untuk mencipta fungsi pembantu untuk mengekstrak bahagian tarikh daripada objek tarikh yang diberikan:
const getDatePart = (date) => { return new Date(date.getFullYear(), date.getMonth(), date.getDate()); };
Anda kemudian boleh membandingkan bahagian tarikh dua tarikh menggunakan operator ==:
const nowDatePart = getDatePart(now); const userDatePart = getDatePart(userDate); const result = nowDatePart == userDatePart;
Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Hanya Bahagian Tarikh Dua Tarikh dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!