Jadual Kandungan
Gunakan kaedah getTime() dengan tarikh dan buat algoritma tersuai
Tatabahasa
Langkah
Contoh
Gunakan API RelativeTimeFormat() Intl
Rumah hujung hadapan web tutorial js Dapatkan perbezaan cap masa relatif antara tarikh dalam JavaScript

Dapatkan perbezaan cap masa relatif antara tarikh dalam JavaScript

Aug 31, 2023 pm 03:05 PM

在 JavaScript 中获取日期之间的相对时间戳差异

Pernahkah anda melihat pemberitahuan yang menunjukkan cap masa di mana-mana tapak web? Ia menunjukkan perkara seperti "12 minit lalu", "2 hari lalu", "10 jam lalu" dsb. Ia mempunyai kaitan dengan perbezaan cap masa antara dua tarikh atau masa.

Selain itu, beberapa apl menunjukkan bahawa peranti itu kali terakhir dilog masuk 22 jam yang lalu. Jadi mendapatkan perbezaan cap masa antara dua tarikh mempunyai banyak kegunaan.

Dalam tutorial ini, kita akan mempelajari cara yang berbeza untuk mendapatkan perbezaan cap masa relatif antara dua tarikh.

Gunakan kaedah getTime() dengan tarikh dan buat algoritma tersuai

Dalam JavaScript, kita boleh menggunakan pembina Date() baharu untuk mencipta objek tarikh. Selain itu, kita boleh menghantar tarikh tertentu sebagai hujah kepada pembina Date() untuk memulakan objek tarikh dengan nilai tarikh tersebut.

Kaedah

getTime() mengembalikan jumlah bilangan saat sejak 1 Januari 1970. Jadi kita boleh mencari jumlah milisaat kedua-dua tarikh dan kemudian menolaknya untuk mendapatkan perbezaan milisaat. Menggunakan milisaat itu, kita boleh mencari perbezaan cap masa dalam saat, minit, tahun, dsb.

Tatabahasa

Pengguna boleh mengikuti sintaks di bawah untuk mendapatkan perbezaan cap waktu relatif antara dua tarikh.

let second_diff = (current_date.getTime() - previous_date.getTime())/1000; 
Salin selepas log masuk

Dalam sintaks di atas, current_date dan previous_date ialah dua tarikh yang berbeza. Kami menggunakan kaedah getTime() untuk mendapatkan perbezaan milisaat antara dua tarikh.

Nota- Anda boleh mendapatkan perbezaan cap masa relatif dengan membandingkan nilai pembolehubah second_diff dengan milisaat.

Langkah

Pengguna boleh mengikuti langkah di bawah untuk mencari cap waktu relatif antara dua tarikh dalam unit berbeza (seperti hari, bulan, tahun, dll.).

Langkah 1 - Buat dua tarikh berbeza.

Langkah 2 - Gunakan kaedah getTime() untuk mendapatkan jumlah milisaat dua tarikh dan dapatkan perbezaan antara keduanya. Selain itu, bahagikan perbezaan milisaat sebanyak 1000 untuk menukarnya kepada saat dan menyimpannya dalam pembolehubah secondary_diff.

Langkah 3 - Sekarang, gunakan pernyataan bersyarat if-else untuk mencari perbezaan cap masa relatif.

Langkah 4 - Jika nilai saat_beza kurang daripada 60, maka perbezaannya adalah dalam saat. Second_diff mempunyai nilai antara 60 dan 3600, dengan perbezaan dalam jam. Pengguna juga boleh mengira hari, bulan, dan tahun seperti ini.

Contoh

Dalam contoh di bawah, kami telah mencipta dua objek tarikh berbeza menggunakan pembina Tarikh dan menggunakan langkah di atas untuk mencari cap masa relatif antara dua tarikh.

Dalam output, pengguna boleh melihat bahawa kod berikut mewakili perbezaan cap masa bulan.

<html>
<body>
   <h3>Getting the relative timestamp difference between two dates using the <i> custom algorithm </i></h3>
   <p id="output"></p>
   <script>
      let output = document.getElementById("output");
      
      // creating the current date
      let current_date = new Date();
      
      // previous date
      let previous_date = new Date("jan 14, 2022 12:21:45");
      
      // finding the difference in total seconds between two dates
      let second_diff = (current_date.getTime() - previous_date.getTime()) / 1000;
      output.innerHTML += "The first date is " + current_date + "</br>";
      output.innerHTML += "The second date is " + previous_date + "</br>";
      
      // showing the relative timestamp.
      if (second_diff < 60) {
         output.innerHTML += "difference is of " + second_diff + " seconds.";
      } else if (second_diff < 3600) {
         output.innerHTML += "difference is of " + second_diff / 60 + " minutes.";
      } else if (second_diff < 86400) {
         output.innerHTML += "difference is of " + second_diff / 3600 + " hours.";
      } else if (second_diff < 2620800) {
         output.innerHTML += "difference is of " + second_diff / 86400 + " days.";
      } else if (second_diff < 31449600) {
         output.innerHTML += "difference is of " + second_diff / 2620800 + " months.";
      } else {
         output.innerHTML += "difference is of " + second_diff / 31449600 + " years.";
      }
   </script>
</body>
</html>
Salin selepas log masuk

Gunakan API RelativeTimeFormat() Intl

Intl merujuk kepada API pengantarabangsaan. Ia mengandungi pelbagai kaedah pemformatan tarikh dan masa. Kita boleh menggunakan kaedah RelativeTimeFormat() objek Intl untuk mendapatkan cap waktu relatif antara dua tarikh.

Tatabahasa

Pengguna boleh menggunakan API RelativeTimeFormat() mengikut sintaks berikut untuk mendapatkan cap waktu relatif antara dua tarikh.

var relativeTimeStamp =
new Intl.RelativeTimeFormat("en", { numeric: "auto",});

// compare the value of RelativeTimeStamp with milliseconds of different time units
Salin selepas log masuk

Dalam sintaks di atas, kaedah RelativeTimeFormat() mengembalikan perbezaan cap waktu. time_Stamp_unit ialah objek yang mengandungi unit masa yang berbeza dan jumlah bilangan milisaatnya.

Langkah

Langkah 1 - Buat objek unit yang mengandungi unit masa sebagai kunci dan jumlah bilangan milisaat sebagai nilai untuk unit masa itu.

Langkah 2 - Dapatkan perbezaan masa (dalam milisaat) antara dua tarikh.

Langkah 3 - Sekarang gunakan gelung for-in untuk mengulangi objek time_stamp_unit dan semak sama ada nilai second_diff lebih besar daripada jumlah milisaat masa tertentu; gunakan kaedah format (Relative TimeFor) API untuk memformat cap waktu unit tertentu itu.

Langkah 4 - Selepas itu, putuskan gelung for.

Contoh

Dalam contoh di bawah, kami menggunakan kaedah RelativeTimeFomrat() untuk mendapatkan perbezaan cap waktu relatif antara dua tarikh seperti yang diterangkan dalam sintaks dan langkah di atas.

<html>
<body>
   <h3>Getting the relative timestamp difference between two dates using the <i> RelativeTimeFormat() </i> method </h3>
   <p id="output"></p>
   <script>
      let output = document.getElementById("output");
      let current_date = new Date();
      let previous_date = new Date("jan 14, 2022 12:21:45");
      
      // finding the difference in total seconds between two dates 
      let second_diff = current_date.getTime() - previous_date.getTime();
      output.innerHTML += "The first date is " + current_date + "</br>";
      output.innerHTML += "The second date is " + previous_date + "</br>";
      var time_Stamp_unit = {
         year: 31536000000,
         month: 31536000000 / 12,
         day: 86400000,
         hour: 3600000,
         minute: 60000,
         second: 1000,
      };
      var relativeTimeStamp = new Intl.RelativeTimeFormat("en", {
         numeric: "auto",
      });
      
      // iterate through all time stamps
      for (var ele in time_Stamp_unit) {
         
         // if second_diff's value is greater than particular timesapm unit's total millisecond value, format accordingly
         if (Math.abs(second_diff) > time_Stamp_unit[ele] || ele == "second") {
            output.innerHTML += "The difference between two dates is " + relativeTimeStamp.format(
               Math.round(second_diff / time_Stamp_unit[ele]), ele
            );
            break;
         }
      }
   </script>
</body>
</html>
Salin selepas log masuk

Pengguna belajar mencari cap masa relatif antara dua tarikh menggunakan penyataan if-else dan kaedah RelativeTimeFormat() API’s format(). Pengguna boleh menggunakan kedua-dua kaedah mengikut keperluan mereka.

Atas ialah kandungan terperinci Dapatkan perbezaan cap masa relatif antara tarikh dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Mar 18, 2025 pm 03:14 PM

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Mar 18, 2025 pm 03:16 PM

Artikel ini membincangkan debugging JavaScript yang berkesan menggunakan alat pemaju pelayar, memberi tumpuan kepada menetapkan titik putus, menggunakan konsol, dan menganalisis prestasi.

10 cara untuk meningkatkan prestasi jQuery anda dengan serta -merta 10 cara untuk meningkatkan prestasi jQuery anda dengan serta -merta Mar 11, 2025 am 12:15 AM

Artikel ini menggariskan sepuluh langkah mudah untuk meningkatkan prestasi skrip anda dengan ketara. Teknik -teknik ini adalah mudah dan boleh digunakan untuk semua tahap kemahiran. Tetap dikemas kini: Gunakan pengurus pakej seperti npm dengan bundler seperti Vite untuk memastikan

Menggunakan pasport dengan sekuel dan mysql Menggunakan pasport dengan sekuel dan mysql Mar 11, 2025 am 11:04 AM

Sequelize adalah node.js Orm berasaskan janji. Ia boleh digunakan dengan PostgreSQL, MySQL, MariaDB, SQLite, dan MSSQL. Dalam tutorial ini, kami akan melaksanakan pengesahan untuk pengguna aplikasi web. Dan kami akan menggunakan Pasport, Pengesahan Middlew Popular

Cara Membina Slider JQuery Mudah Cara Membina Slider JQuery Mudah Mar 11, 2025 am 12:19 AM

Artikel ini akan membimbing anda untuk membuat karusel gambar mudah menggunakan perpustakaan jQuery. Kami akan menggunakan perpustakaan BXSlider, yang dibina di atas jQuery dan menyediakan banyak pilihan konfigurasi untuk menubuhkan karusel. Pada masa kini, Gambar Carousel telah menjadi ciri yang mesti ada di laman web - satu gambar lebih baik daripada seribu perkataan! Selepas membuat keputusan untuk menggunakan karusel gambar, soalan seterusnya adalah bagaimana untuk menciptanya. Pertama, anda perlu mengumpul gambar-gambar resolusi tinggi yang berkualiti tinggi. Seterusnya, anda perlu membuat karusel gambar menggunakan HTML dan beberapa kod JavaScript. Terdapat banyak perpustakaan di web yang dapat membantu anda membuat karusel dengan cara yang berbeza. Kami akan menggunakan Perpustakaan BXSlider Sumber Terbuka. Perpustakaan BXSlider menyokong reka bentuk responsif, jadi karusel yang dibina dengan perpustakaan ini dapat disesuaikan dengan mana -mana

Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Mar 18, 2025 pm 03:17 PM

Artikel ini menerangkan cara menggunakan peta sumber untuk debug JavaScript minifikasi dengan memetakannya kembali ke kod asal. Ia membincangkan membolehkan peta sumber, menetapkan titik putus, dan menggunakan alat seperti Chrome Devtools dan Webpack.

See all articles