Bagaimana untuk Membandingkan Hanya Bahagian Tarikh Dua Tarikh dalam JavaScript?

Barbara Streisand
Lepaskan: 2024-11-11 20:26:03
asal
961 orang telah melayarinya

How to Compare Only the Date Parts of Two Dates in JavaScript?

Membandingkan Bahagian 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.

Pendekatan Salah

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.

Pendekatan Dibetulkan

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);
Salin selepas log masuk

Dengan melakukan ini, objek userDate akan mewakili komponen tarikh sahaja dan anda boleh membandingkannya dengan tepat dengan sekarang menggunakan > operator.

Mudahkan Perbandingan

Daripada menggunakan syarat if, anda boleh menggunakan sintaks yang lebih mudah:

const result = userDate > now;
Salin selepas log masuk

Penyelesaian Alternatif

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());
};
Salin selepas log masuk

Anda kemudian boleh membandingkan bahagian tarikh dua tarikh menggunakan operator ==:

const nowDatePart = getDatePart(now);
const userDatePart = getDatePart(userDate);

const result = nowDatePart == userDatePart;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan