Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengira Perbezaan Bulan Antara Dua Tarikh dalam JavaScript?

Bagaimana untuk Mengira Perbezaan Bulan Antara Dua Tarikh dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-11-04 12:39:02892semak imbas

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

Menentukan Perbezaan Masa antara Tarikh dalam JavaScript: Fokus pada Bulan

Dalam JavaScript, bagaimana kita boleh mengira perbezaan masa antara dua tarikh sambil hanya mengembalikan bulan pemisahan ? Mari kita mendalami penyelesaiannya.

Takrifan "bilangan bulan dalam perbezaan" adalah sangat subjektif. Kita boleh memperoleh bulan antara dua titik dalam masa dengan menggunakan tahun, bulan dan hari bulan yang disediakan oleh objek tarikh JavaScript.

Berikut ialah contoh fungsi yang menangani cabaran ini:

function monthDiff(d1, d2) {
  var months;
  months = (d2.getFullYear() - d1.getFullYear()) * 12;
  months -= d1.getMonth();
  months += d2.getMonth();
  return months <= 0 ? 0 : months;
}

Fungsi ini mengambil kira tahun, bulan dan hari bagi dua tarikh input dan mengira perbezaan bulan. Ia memastikan bahawa hasilnya bukan negatif.

Sebagai contoh, kita boleh menggunakan fungsi ini untuk membandingkan tarikh seperti ini:

const d1 = new Date(2008, 10, 4); // November 4th, 2008
const d2 = new Date(2010, 2, 12);  // March 12th, 2010

const diff = monthDiff(d1, d2);
console.log(`${d1.toISOString().substring(0, 10)} to ${d2.toISOString().substring(0, 10)}: ${diff}`); // Result: 16

Contoh ini menunjukkan bahawa perbezaan masa antara 4 November, 2008, dan 12 Mac 2010, ialah 16 bulan.

Dengan melaraskan tarikh input, kami boleh mengira perbezaan bulan untuk sebarang julat masa yang diingini. Fungsi ini menyediakan cara mudah untuk mengendalikan senario biasa mengira bilangan bulan antara dua tarikh dalam JavaScript.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Perbezaan Bulan Antara Dua Tarikh 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