Rumah >hujung hadapan web >tutorial js >Cari masa berlalu dalam JavaScript
Kadangkala ia perlu mencari jumlah masa yang dihabiskan untuk melakukan beberapa operasi dalam JavaScript. Sebagai contoh, kita perlu mencari jumlah masa yang dihabiskan oleh pengguna mengemas kini profil mereka.
Selain itu, mungkin terdapat kes penggunaan lain yang serupa di mana kita perlu mencari perbezaan antara masa tertentu dan masa semasa dan dengan itu mencari jumlah masa berlalu. Di sini kita akan mempelajari pelbagai cara untuk mencari masa berlalu dalam JavaScript.
Dalam JavaScript, kita boleh menggunakan pembina objek Date() untuk mendapatkan masa semasa. Ia mengembalikan jumlah bilangan milisaat sejak 1 Januari 1970.
Di sini kita boleh mendapatkan masa berlalu antara dua tarikh dengan mengambil perbezaan dalam jumlah milisaat antara kedua-dua tarikh.
Pengguna boleh menggunakan pembina objek Date() mengikut sintaks berikut untuk mencari masa berlalu dalam JavaScript.
let startTime = new Date(); let endTime = new Date(); let timeElapsed = endTime - startTime;
Dalam sintaks di atas, pertama, kita mendapat masa mula. Selepas itu, kami mengambil masa akhir. Untuk mendapatkan masa yang telah berlalu, kami mengambil perbezaan masa mula dan tamat.
Dalam contoh di bawah, kami menyimpan masa semasa dalam pembolehubah Masa mula. Selepas itu, kami memanggil fungsi loopThrough(). Fungsi melaksanakan gelung 6,00,000 kali.
Selepas pelaksanaan fungsi selesai, kami menyimpan masa semasa dalam pembolehubah endTime. Selepas itu, kami mengira perbezaan antara endTime dan startTime untuk mendapatkan jumlah masa yang dibelanjakan untuk melaksanakan fungsi.
<html> <body> <h3> Using the <i> Date() object </i> to find the time elapsed in JavaScript </h3> <div id="output"> </div> <script> let output = document.getElementById('output'); function loopThrough() { for (i = 0; i < 600000; i++) { //Do nothing } } let startTime = new Date(); loopThrough(); let endTime = new Date(); let timeElapsed = endTime - startTime; output.innerHTML += "Total time elapsed to loop through 600000 times: " + timeElapsed + " milliseconds."; </script> </body> </html>
Contoh di bawah menunjukkan perbezaan masa antara tarikh tertentu dan masa semasa. Selepas itu, kami memanggil fungsi formatDate() untuk memformat tarikh ke dalam format hari, jam, minit dan kedua.
Dalam fungsi formatDate(), kami mendapat perbezaan masa sebagai parameter bersama-sama dengan jumlah hari, jam, minit dan saat. Dalam output, pengguna boleh menyemak jumlah masa berlalu sejak 31 Disember 2019.
<html> <body> <h3> Using the <i> Date() object </i> to find the time elapsed in JavaScript </h3> <div id="output"></div> <script> let output = document.getElementById('output'); function formatDate(difference) { //Arrange the difference of date in days, hours, minutes, and seconds format let days = Math.floor(difference / (1000 * 60 * 60 * 24)); let hours = Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); let minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60)); let seconds = Math.floor((difference % (1000 * 60)) / 1000); output.innerHTML += "Total time elapsed is: " + days + " days " + hours + " hours " + minutes + " minutes " + seconds + " seconds."; } let start = new Date("December 31, 2020 23:59:59"); let end = new Date(); let difference = end - start; formatDate(difference); </script> </body> </html>
Kaedah console.Time() mengambil label sebagai parameter. Setiap kali kita memanggil kaedah console.time() menggunakan label tertentu, ia mula mengira masa.
Kaedah console.timeEnd() mengambil label yang sama yang kami lalui sebagai parameter kaedah console.time() dan mencetak masa yang berlalu sejak kaedah console.time() dipanggil.
Pengguna boleh menggunakan fungsi console.time() mengikut sintaks di bawah untuk mencari jumlah masa yang digunakan dalam JavaScript.
console.time(label); console.timeEnd(label);
Dalam sintaks di atas, kaedah console.time() dan console.timeEnd() mengambil label yang sama.
Dalam contoh di bawah, mula-mula, kami melaksanakan kaedah console.time() sambil menghantar teg "masa pelaksanaan" sebagai parameter. Selepas itu, kami memanggil gelung 1,00,000 kali. Seterusnya, kami memanggil kaedah console.timeEnd() menggunakan label yang sama untuk mencetak jumlah masa berlalu dalam konsol.
// use the console.time() function to find the time elapsed console.time('Execution time'); for (let i = 0; i < 100000; i++) { // Iterating through the loop } console.timeEnd('Execution time');
Pengguna boleh menggunakan kaedah Performance.now() untuk mendapatkan jumlah masa yang dihabiskan untuk melaksanakan kod JavaScript. Ia mengembalikan masa berlalu dalam milisaat.
Pengguna boleh menggunakan kaedah Performance.now() mengikut sintaks di bawah untuk mencari masa berlalu dalam JavaScript.
let startTime = performance.now(); let endTime = performance.now(); let timeElapsed = endTime - startTime;
Kami mengira perbezaan antara masa mula dan masa tamat dalam sintaks di atas.
Dalam contoh di bawah, kami menggunakan kaedah Performance.now() apabila kod JavaScript mula dilaksanakan. Selepas itu, kami menetapkan masa kepada 1000 milisaat menggunakan kaedah setTime().
Setelah tamat tempoh, ia akan melaksanakan fungsi panggil balik yang akan memanggil kaedah Performance.now() sekali lagi dan mendapatkan perbezaan antara StartTime dan endTime untuk mencari jumlah masa berjalan.
<html> <body> <h3> Using the <i> performance.now() method </i> to find the time elapsed in JavaScript </h3> <div id="output"></div> <script> let output = document.getElementById('output'); let startTime = performance.now(); setTimeout(function () { let endTime = performance.now(); let timeElapsed = endTime - startTime; output.innerHTML = 'Time elapsed: ' + timeElapsed + ' milliseconds'; }, 1000); </script> </body> </html>
Pengguna mempelajari tiga cara untuk mencari masa berlalu dalam JavaScript. Cara pertama ialah menggunakan objek Date(). Cara kedua ialah menggunakan kaedah console.time() dan console.timeEnd(), yang sentiasa mencetak masa dalam konsol. Kaedah ketiga ialah menggunakan kaedah Performance.now().
Atas ialah kandungan terperinci Cari masa berlalu dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!