Rumah > Artikel > hujung hadapan web > Bagaimana untuk menyemak sama ada tarikh adalah antara dua tarikh dalam JavaScript?
Dalam JavaScript, kita boleh menggunakan objek Date() untuk mencipta cap masa yang berbeza. Selain itu, kami mungkin perlu menggunakan JavaScript untuk menyemak sama ada tarikh antara dua tarikh.
Sebagai contoh, kami ingin membuat penapis untuk pesanan dalam aplikasi e-dagang berdasarkan tarikh. Jadi kita sepatutnya dapat menapis semua pesanan antara dua tarikh yang dimasukkan oleh pengguna dalam medan input tarikh.
Satu lagi kes penggunaan praktikal untuk menyemak antara dua tarikh adalah dalam aplikasi perbankan. Sebagai contoh, apabila membangunkan aplikasi sistem perbankan, pembangun perlu mencipta penapis yang membolehkan pengguna mengisih semua transaksi antara dua tarikh.
Dalam JavaScript, kita boleh membandingkan dua contoh objek tarikh. Apabila kita membandingkan dua kejadian objek Tarikh, ia membandingkan jumlah bilangan milisaat sejak 1 Januari 1970, antara dua tarikh.
Jadi kita boleh membandingkan dua tarikh seperti biasa seperti membandingkan nombor dalam JavaScript dan memastikan bahawa satu tarikh adalah antara dua tarikh yang lain.
Pengguna boleh mengikuti sintaks berikut untuk memastikan tarikh antara dua tarikh dalam JavaScript.
if (date1 < date2 && date2 < date3) { // date2 is between the date1 and date3 } else { // date2 is not between the date1 and date3 }
Dalam sintaks di atas, pengguna dapat melihat bahawa jika date2 lebih besar daripada date1 dan date2 kurang daripada date3, ini bermakna date2 adalah antara date13 dan
Contohdate2 adalah antara date1 dan date3.
Dalam output, pengguna boleh melihat bahawadate2 terletak di antara date1 dan date3.
<html> <body> <h2><i>Comparing the dates</i> to check if one date is between two.</h2> <p id="output"> </p> <script> let output = document.getElementById("output"); let date1 = new Date(2020, 03, 11); let date2 = new Date(2022, 03, 12); let date3 = new Date(); if (date1 < date2 && date2 < date3) { output.innerHTML += date2 + " is between <br> " + date1 + " <br> and <br> " + date3; } else { output.innerHTML += date2 + " is not between the " + date1 + " <br> and <br>" + date3; } </script> </body> </html>Buat tarikh baharu daripada rentetan tarikh rawak dan bandingkannya
Tatabahasa
// splitting the dates let [year1, month1, date1] = prev_date.split(","); let [year2, month2, date2] = current_date.split(","); let [year3, month3, date3] = final_date.split(","); // creating new formatted dates prev_date = new Date(year1, month1 - 1, date1); current_date = new Date(year2, month2 - 1, date2); final_date = new Date(year3, month3 - 1, date3); if (prev_date < current_date && current_date < final_date) { // current_date is between the prev_date and final_date } else{ // current_date is not between the prev_date and final_date }Dalam sintaks di atas, kami menggunakan pembatas ‘,’ untuk membelah rentetan, tetapi pengguna boleh membahagikannya berdasarkan rentetan tarikh yang diberikan. Selepas itu, kami menyahbina tatasusunan yang diperoleh daripada kaedah split dan mencipta cap masa tarikh standard baharu menggunakan nilai.
Contoh
Selepas itu, kami membandingkan cap masa baharu untuk memastikan current_date adalah antara prev_date dan Final_date.
<html> <body> <h3>Create a new date from <i> date string and compare them </i> to check if one date is between two</h3> <p id = "output"> </p> <script> let output = document.getElementById("output"); let prev_date = "2022,10,23"; let current_date = "2021,11,22"; let final_date = "2023,12,30"; let [year1, month1, date1] = prev_date.split(","); let [year2, month2, date2] = current_date.split(","); let [year3, month3, date3] = final_date.split(","); prev_date = new Date(year1, month1 - 1, date1); current_date = new Date(year2, month2 - 1, date2); final_date = new Date(year3, month3 - 1, date3); if (prev_date < current_date && current_date < final_date) { output.innerHTML += current_date + " is between <br>" + prev_date + "<br> and <br> " + final_date; } else { output.innerHTML += current_date + " is not between <br>" + prev_date + " <br> and <br> " + final_date; } </script> </body> </html>Pengguna mempelajari dua cara untuk menyemak sama ada tarikh antara dua tarikh lain. Pengguna boleh menggunakan kaedah pertama apabila diberi cap waktu standard bagi objek Tarikh, jika tidak, pengguna boleh mengekstrak nilai yang berbeza daripada rentetan tarikh dan menggunakannya untuk mencipta contoh baharu objek tarikh dan membandingkannya.
Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada tarikh adalah antara dua tarikh dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!