Dalam artikel ini, kita akan membincangkan cara menambah tarikh tertentu menggunakan JavaScript. Pertama, mari kita menganalisis dan memahami maksud ayat ini. Memandangkan tarikh x = "05-02-2023", kami ingin menambah y = 7 hari pada tarikh tersebut dan mencetak tarikh yang terhasil "12-02-2023". Sebagai manusia, kita boleh menambah 5 Februari hingga 7 hari secara manual dan mendapatkan hasilnya. Tetapi kami memerlukan JavaScript untuk melakukan ini secara pemrograman.
Kami akan membincangkan beberapa teknik untuk melakukan ini dalam artikel ini.
Fungsi addDays menerima 2 parameter, iaitu tarikh dan bilangan hari untuk dinaikkan. Dalam kod di bawah, kami akan menambah 7 hari pada tarikh semasa dan mencetak tarikh tambahan pada konsol.
function addDays(date, days) { // Function to add Days var result = new Date(date); result.setDate(result.getDate() + days); return result; } let date = new Date(); console.log("Current date is "+date); let incrementedDate = addDays(date, 7); console.log("Increment date is "+incrementedDate);
Current date is Tue Mar 07 2023 11:38:38 GMT+0530 (India Standard Time) Increment date is Tue Mar 14 2023 11:38:38 GMT+0530 (India Standard Time)
Fungsi getDate mengembalikan integer antara 1 dan 31, mewakili hari dalam sebulan. Kemudian gunakan fungsi setdate untuk menetapkan nilai pembolehubah kepada tarikh kenaikan. Di sini kami akan menambah 14 hari ke tarikh semasa dan memaparkan hasilnya ke konsol. Bilangan hari yang bertambah akan disimpan ke pembolehubah yang sama "tarikh", jadi tidak perlu pembolehubah lain.
let date = new Date(); console.log("Current date is "+date); date.setDate(date.getDate()+14); console.log("Increment date is "+date);
Current date is Tue Mar 07 2023 11:40:55 GMT+0530 (India Standard Time) Increment date is Tue Mar 21 2023 11:40:55 GMT+0530 (India Standard Time)
Di sini, daripada menggunakan sebarang fungsi terbina dalam, kami akan mencipta fungsi kami sendiri untuk menambah tarikh. Kami mula-mula mengekstrak integer hari bulan, bulan dan tahun dari tarikh yang diberikan dan menyimpannya sebagai pembolehubah d, m dan y masing-masing. Kami kemudian menambah bilangan hari pada pembolehubah d atau hari dan menukarnya kembali kepada format tarikh apabila dikembalikan. Pada masa ini, fungsi ini mempunyai keupayaan terhad dalam menambah hari melebihi 1 bulan, tetapi ini boleh diubah suai atau dielakkan paling banyak kerana fungsi terbina dalam wujud.
function AddDays(start,days){ var d=start.getDate(); var m=start.getMonth()+1; //getMonth returns the index of the month hence +1 is added var y=start.getYear(); //getYear returns the year minus 1900 in the current javascript version, hence 1900 is added to it below var newDate=m+"-"+(d+days)+"-"+(y+1900); return new Date(newDate); } today=new Date(); console.log("The date today is "+today); console.log("The date after 5 days is "+AddDays(today,5));
The date today is Tue Mar 07 2023 11:43:02 GMT+0530 (India Standard Time) The date after 5 days is Sun Mar 12 2023 00:00:00 GMT+0530 (India Standard Time)
Seseorang mungkin sering melihat tapak web e-dagang menggunakan kenaikan hari untuk memaparkan anggaran masa penghantaran. Waktu penghantaran ini biasanya tidak tersedia pada hari Ahad. Ahad mesti dikecualikan semasa mengira anggaran tarikh penghantaran. Cuti umum juga boleh dikecualikan.
Begini caranya untuk menambah 7 hari bekerja ke tarikh semasa.
function AddWorkingDays(start,days){ // retrieve the index of the start date var d=start.getDay(); var incrementby=days; if(d==0){ // 0 stands for Sunday, if current day is a Sunday then add 1 day incrementby++; } if (d + incrementby >= 6) { //Subtract days in current working week from working days var remainingWorkingDays = incrementby - (5 - d); //Add current working week's weekend incrementby += 2; if (remainingWorkingDays > 5) { //Add two days for every working week by finding out how many weeks are included incrementby += 2 * Math.floor(remainingWorkingDays / 5); //Exclude the final weekend if the remainingWorkingDays is a equal to an exact number of weeks if (remainingWorkingDays % 5 == 0) incrementby -= 2; } } start.setDate(start.getDate() + incrementby); return start; } var today=new Date(); console.log("Current date is "+today); console.log("8 working days later would be "+AddWorkingDays(today,8));
Current date is Tue Mar 07 2023 11:45:58 GMT+0530 (India Standard Time) 8 working days later would be Fri Mar 17 2023 11:45:58 GMT+0530 (India Standard Time)
Semua kaedah di atas membolehkan anda menambah hari, bulan dan juga tahun pada tarikh tertentu. Fungsi menambah hari bekerja sangat berguna dalam industri dan boleh digunakan oleh platform e-dagang, laman web bawa pulang, dsb. Selain kaedah ini, kami juga boleh memanfaatkan pustaka Moment.js, tetapi ini akan membawa kerumitan yang tidak perlu kepada kerja. program.
Atas ialah kandungan terperinci Kenaikan tarikh yang diberikan dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!