Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menyemak dua cap masa untuk hari yang sama dalam JavaScript?

Bagaimana untuk menyemak dua cap masa untuk hari yang sama dalam JavaScript?

PHPz
PHPzke hadapan
2023-09-15 21:45:03861semak imbas

如何在 JavaScript 中检查同一天的两个时间戳?

Anda tidak akan sekali-kali menggunakan JavaScript semasa membangunkan aplikasi dan anda tidak akan menggunakan objek Tarikh. Objek tarikh adalah sangat penting dalam JavaScript, ia membolehkan kami mencipta dan memanipulasi tarikh mengikut keperluan pembangun.

Dalam tutorial ini, kita akan belajar untuk menyemak sama ada dua cap waktu adalah hari yang sama atau hari yang berbeza. Dalam pembangunan masa nyata, ia sangat berguna. Sebagai contoh, kami mahu pengguna melakukan beberapa tugas harian. Jadi kita perlu menyemak sama ada pengguna melakukan tugas hari ini, kita boleh menyemak ini dengan membandingkan tarikh terakhir apabila tugas itu dilakukan dengan tarikh semasa.

Bandingkan tahun, bulan dan hari dua objek Tarikh masing-masing

Date() Objek mengandungi kaedah getFullYear(), getMonth() dan getDate(), yang digunakan untuk mendapatkan tahun, bulan dan tarikh daripada nilai tarikh masing-masing. Kita boleh menyemak sama ada tahun, bulan dan hari dua cap waktu adalah sama;

tatabahasa

Pengguna boleh menyemak dua cap masa pada hari yang sama menggunakan getFullYear(), getMonth(), getDate() dan operator kesaksamaan mengikut sintaks berikut.

if (
   date1.getFullYear() === date2.getFullYear() &&
   date1.getMonth() === date2.getMonth() &&
   date1.getDate() === date2.getDate()
) {
   
   // date is the same
} else {
   
   // date is not the same
} 

Dalam sintaks di atas, date1 dan date2 ialah dua cap waktu yang berbeza.

Contoh

Dalam contoh di bawah, kami telah mencipta tiga tarikh bernama date1, date2 dan date3. Kami mencipta fungsi compareTwoDates() yang menggunakan logik di atas untuk membandingkan dua cap waktu pada hari yang sama.

<html>
<body>
   <h3>Compare the<i> year, month, and date </i> to check for two timestams of same day.</h3>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      var date1 = new Date();
      var date2 = new Date(date1.getTime() - 3000);
      function compareTwoDates(date1, date2) {
         
         // if the year, month, and date are the same, it means two dates are on the same day
         if (
            date1.getFullYear() === date2.getFullYear() &&
            date1.getMonth() === date2.getMonth() &&
            date1.getDate() === date2.getDate()
         ) {
            output.innerHTML += date1 + " and <br>" + date2 + " <br>are of same day. </br><br>";
         } else {
            output.innerHTML += date1 + " and <br>" + date2 + " <br>are not of same day. </br>";
         }
      }
      compareTwoDates(date1, date2);
      let date3 = new Date(2020, 11, 10);
      compareTwoDates(date1, date3);
   </script> 
</body>
</html>

Tetapkan jam, minit, saat dan milisaat kepada sifar dan bandingkan dua tarikh

Date() Kaedah setHours() bagi objek membolehkan kami menetapkan jam, minit, saat dan milisaat dalam cap masa. Ia memerlukan empat parameter, mewakili jam, minit, saat dan milisaat. Selain itu, tiga parameter terakhir adalah pilihan, tetapi kami menetapkan semuanya kepada sifar. Apabila kita menetapkan jam, minit, saat dan milisaat kepada sifar, kita boleh mendapatkan cap masa permulaan hari itu. Jika dua cap masa mempunyai masa mula yang sama, cap masa adalah untuk hari yang sama.

tatabahasa

Ikuti sintaks di bawah untuk membandingkan dua cap waktu pada hari yang sama.

date1.setHours(0, 0, 0, 0);
date2.setHours(0, 0, 0, 0);
   
// compare timestamp
if (date1 == date2) {
   
   // date is the same
} else {
   
   // date is not the same
} 

Dalam sintaks di atas, kami menggunakan kaedah setHours() untuk menetapkan jam kepada sifar dan kemudian membandingkan date1 dan date2 .

Contoh

Dalam contoh di bawah, kami mencipta dua cap masa menggunakan objek Date(). Fungsi CompareTwoDates() menyemak sama ada cap masa berada pada hari yang sama dengan menetapkan jam, minit, saat dan milisaat dua cap masa kepada sifar.

<html>
<body>
   <h3>Seting<i> Hours, minutes, seconds, and milliseconds </i> to zero to check for two timestamps of the same day </h3>
   <p id="output"></p>
   <script>
      let output = document.getElementById("output");
      var date1 = new Date();
      var date2 = new Date(date1.getTime() - 3786000);
      function compareTwoDates(date1, date2) {
         
         // set hours, minutes, seconds, and milliseconds zero in the timestamp
         date1.setHours(0, 0, 0, 0);
         date2.setHours(0, 0, 0, 0);
         
         // compare timestamp
         if (date1 == date2) {
            output.innerHTML += date1 + " and <br>" + date2 + "<br> are of same day. </br>";
         } else {
            output.innerHTML += date1 + " and <br>" + date2 + "<br> are not of same day. </br>";
         }
      }
      compareTwoDates(date1, date2);
   </script>
</body>
</html> 

Gunakan kaedah toDateString()

Kaedah

toDateString() membolehkan kami mendapatkan rentetan tarikh daripada cap masa sahaja dan ia mengalih keluar masa daripada cap masa dan mengembalikan rentetan tarikh sahaja. Jika rentetan tarikh dua cap masa adalah sama, maka kita boleh mengatakan bahawa kedua-duanya adalah pada hari yang sama.

tatabahasa

Gunakan kaedah toDateString() mengikut sintaks berikut untuk menyemak dua cap masa pada hari yang sama.

if (date1.toDateString() == date2.toDateString()) {
   
   // dates are of the same day
} else {
   
   // dates are not on the same day
} 

Contoh

Dalam contoh di bawah, apabila pengguna mengklik butang "Bandingkan Dua Tarikh", ia memanggil fungsi isForSameDays(). Dalam fungsi isForSameDays(), kami menggunakan kaedah toDateString() untuk mendapatkan hanya rentetan tarikh daripada cap waktu dan menggunakan operator kesamaan untuk membandingkan dua rentetan tarikh.

<html>
<body>
   <h3>Using the <i> toDateString() method </i> to check for two timestams of same day.</h3>
   <p id="output"></p>
   <script>
      let output = document.getElementById("output");
      var date1 = new Date();
      var date2 = new Date(2020, 01, 21, 12, 23, 22);
      
      // compare timestamp using the toDateString() method
      if (date1.toDateString() == date2.toDateString()) {
         output.innerHTML += date1 + " and " + date2 + " are of same day. </br>";
      } else {
         output.innerHTML += date1 + " and " + date2 + " are not of same day. </br>";
      }
   </script>
</body>
</html>

Tutorial ini mengajar kita tiga kaedah untuk menyemak dua cap waktu pada hari yang sama. Cara ketiga untuk menggunakan kaedah toDateString() ialah satu pelapik yang sangat mudah.

Atas ialah kandungan terperinci Bagaimana untuk menyemak dua cap masa untuk hari yang sama dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam