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!