Anda cuba membandingkan dua tarikh sambil mengabaikan komponen masa. Walau bagaimanapun, kod anda nampaknya tidak betul. Mari kita periksa kod anda dan cari penyelesaian.
if (userDate > now)
Dalam perbandingan ini, anda sedang membandingkan keseluruhan objek Date, termasuk komponen masanya. Ini boleh membawa kepada hasil yang salah, terutamanya jika kedua-dua tarikh mempunyai masa yang berbeza tetapi hari dan bulan yang sama.
Untuk memfokuskan pada bahagian tarikh semata-mata, anda boleh mensifarkan komponen masa objek Tarikh. Ini boleh dicapai menggunakan kaedah setHours dengan 0 nilai untuk jam, minit, saat dan milisaat.
Berikut ialah versi terlaras kod anda:
var userDate = new Date(); userDate.setFullYear(dateArray[2], userMonth, dateArray[0], 0, 0, 0, 0); var now = new Date(); now.setHours(0, 0, 0, 0); if (userDate > now)
Kini, perbandingan akan dinilai hanya bahagian tarikh objek Tarikh, tidak menghiraukan komponen masa. Ini sepatutnya memberikan anda hasil yang diingini apabila menyemak sama ada userDate lebih besar daripada sekarang.
Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Tarikh dalam JavaScript Tanpa Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!