Cari masa berlalu dalam JavaScript

王林
Lepaskan: 2023-08-26 22:33:08
ke hadapan
651 orang telah melayarinya

在 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.

Cari masa berlalu menggunakan objek Date() 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.

Tatabahasa

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

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.

Contoh 1

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

Contoh 2

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

Gunakan fungsi Console.time()

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.

Tatabahasa

Pengguna boleh menggunakan fungsi console.time() mengikut sintaks di bawah untuk mencari jumlah masa yang digunakan dalam JavaScript.

console.time(label);
console.timeEnd(label);
Salin selepas log masuk

Dalam sintaks di atas, kaedah console.time() dan console.timeEnd() mengambil label yang sama.

Contoh 3

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

Gunakan kaedah Performance.now()

Pengguna boleh menggunakan kaedah Performance.now() untuk mendapatkan jumlah masa yang dihabiskan untuk melaksanakan kod JavaScript. Ia mengembalikan masa berlalu dalam milisaat.

Tatabahasa

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

Kami mengira perbezaan antara masa mula dan masa tamat dalam sintaks di atas.

Contoh 4

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

Kesimpulan

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!

sumber:tutorialspoint.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!