Rumah >hujung hadapan web >tutorial js >Bagaimana Mengira Perbezaan Antara Dua Tarikh dengan Tepat dalam JavaScript?

Bagaimana Mengira Perbezaan Antara Dua Tarikh dengan Tepat dalam JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-12-27 13:32:11710semak imbas

How to Accurately Calculate the Difference Between Two Dates in JavaScript?

Mengira Perbezaan Tarikh dalam JavaScript: Penyelesaian Komprehensif

Apabila bekerja dengan tarikh dalam JavaScript, menentukan perbezaan antara dua tarikh tertentu menjadi perkara biasa tugasan. Walaupun penolakan mudah mungkin kelihatan seperti pendekatan yang mudah, ia tidak mengambil kira pecahan sehari. Untuk mendapatkan perbezaan dengan tepat sepanjang hari, kaedah alternatif diperlukan.

Masalahnya:

Pertimbangkan coretan kod berikut, yang cuba mengira bilangan hari antara dua tarikh menggunakan kaedah getDate():

var date1 = new Date('7/11/2010');
var date2 = new Date('12/12/2010');
var diffDays = date2.getDate() - date1.getDate(); 
alert(diffDays)

Walau bagaimanapun, pendekatan ini gagal mengambil kira bulan dan tahun perbezaan, berpotensi membawa kepada keputusan yang salah.

Penyelesaian:

Untuk menentukan dengan tepat perbezaan antara tarikh sepanjang hari, pengiraan yang lebih komprehensif diperlukan:

const date1 = new Date('7/13/2010');
const date2 = new Date('12/15/2010');
const diffTime = Math.abs(date2 - date1);
const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24)); 
console.log(diffTime + " milliseconds");
console.log(diffDays + " days");
  1. Kira Perbezaan Masa: Langkah pertama melibatkan penolakan tarikh awal daripada tarikh kemudian, mengakibatkan perbezaan masa dalam milisaat. Ini dicapai menggunakan Math.abs, yang memastikan nilai positif.
  2. Tukar kepada Hari: Untuk mendapatkan perbezaan sepanjang hari, perbezaan masa dibahagikan dengan bilangan milisaat dalam hari, iaitu 1000 x 60 x 60 x 24.
  3. Tingkatkan Keputusan: Menggunakan Math.floor, hari pecahan dibuang, menghasilkan bilangan integer hari.

Pendekatan ini mengira perbezaan sepanjang hari antara dua tarikh dengan tepat, memberikan yang boleh dipercayai dan fleksibel penyelesaian untuk pelbagai senario.

Atas ialah kandungan terperinci Bagaimana Mengira Perbezaan Antara Dua Tarikh dengan Tepat dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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