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

Bagaimana untuk Mengira Bilangan Bulan Antara Dua Tarikh dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-04 11:18:29743semak imbas

How to Calculate the Number of Months Between Two Dates in JavaScript?

Mengira Bilangan Bulan Antara Dua Tarikh dalam JavaScript

Mengira perbezaan bulan antara dua objek Date() dalam JavaScript memerlukan pemahaman takrifan "bilangan bulan dalam perbezaan."

Kaedah:

Untuk mendapatkan nilai ini, anda boleh mengekstrak tahun, bulan dan hari bulan daripada setiap objek tarikh. Dengan menggunakan nilai ini, anda boleh mengira bilangan bulan antara dua tarikh berdasarkan tafsiran khusus anda.

Contoh Kod:

Satu pendekatan ialah mempertimbangkan perbezaan sebagai bilangan bulan dalam perbezaan keseluruhan tahun ditambah perbezaan antara nombor bulan (dilaraskan untuk mengimbangi bulan sebelumnya).

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

Contoh Penggunaan:

The coretan kod berikut menunjukkan penggunaan fungsi monthDiff:

<code class="javascript">// Calculate month difference between November 4th, 2008, and March 12th, 2010
var diff = monthDiff(new Date(2008, 10, 4), new Date(2010, 2, 12));
console.log(diff); // Output: 16

// Calculate month difference between January 1st, 2010, and March 12th, 2010
diff = monthDiff(new Date(2010, 0, 1), new Date(2010, 2, 12));
console.log(diff); // Output: 2

// Calculate month difference between February 1st, 2010, and March 12th, 2010
diff = monthDiff(new Date(2010, 1, 1), new Date(2010, 2, 12));
console.log(diff); // Output: 1</code>

Atas ialah kandungan terperinci Bagaimana untuk Mengira Bilangan 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