Rumah > Soal Jawab > teks badan
P粉7941776592023-08-04 15:33:36
Banding tarikh menggunakan kaedah getTime(), yang mengembalikan bilangan milisaat sejak zaman (iaitu nombor) untuk perbandingan:
var startDate1 = new Date("02/10/2012"); var startDate2 = new Date("01/10/2012"); var startDate3 = new Date("01/10/2012"); alert(startDate1.getTime() > startDate2.getTime()); // true alert(startDate2.getTime() == startDate3.getTime()); //true
Selain itu, pertimbangkan untuk menggunakan nombor tahun/bulan/hari yang jelas untuk membina objek Tarikh dan bukannya bergantung pada perwakilan rentetan (lihat: Date.parse()). Dan ingat, tarikh dalam JavaScript sentiasa diwakili menggunakan zon waktu (pelayar) pelanggan.
P粉9905682832023-08-04 12:15:10
Ini kerana dalam kes kedua, objek tarikh sebenar dibandingkan dan kedua-dua objek tidak pernah sama. Hantar mereka ke nombor:
alert( +startDate2 == +startDate3 ); // true
Jika anda ingin menukarnya kepada nombor dengan lebih jelas, anda boleh menggunakan salah satu kaedah berikut:
alert( startDate2.getTime() == startDate3.getTime() ); // true
o atau
alert( Number(startDate2) == Number(startDate3) ); // true
ialah rujukan kepada §11.9.3 Algoritma Perbandingan Kesamaan Abstrak spesifikasi, pada asasnya ia mengatakan bahawa apabila membandingkan objek, ia adalah benar hanya jika obj1 == obj2 merujuk kepada objek yang sama, jika tidak, hasilnya adalah palsu.