Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengira Anggaran Perbezaan Antara Dua Tarikh dalam Tahun, Bulan dan Hari Menggunakan JavaScript?

Bagaimanakah Saya Boleh Mengira Anggaran Perbezaan Antara Dua Tarikh dalam Tahun, Bulan dan Hari Menggunakan JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-12-03 04:06:07910semak imbas

How Can I Calculate the Approximate Difference Between Two Dates in Years, Months, and Days Using JavaScript?

Kira Perbezaan Tarikh dalam Tahun, Bulan dan Hari dalam JavaScript

Menentukan perbezaan tepat antara dua tarikh, dengan mengambil kira faktor seperti tahun lompat dan tempoh bulan yang berbeza-beza, sememangnya boleh menjadi tugas yang kompleks. Walau bagaimanapun, untuk pengiraan asas dan anggaran, kod JavaScript berikut boleh memberikan anggaran yang munasabah:

today = new Date()
past = new Date(2010,05,01) // remember this is equivalent to 06 01 2010
//dates in js are counted from 0, so 05 is june

function calcDate(date1,date2) {
    var diff = Math.floor(date1.getTime() - date2.getTime());
    var day = 1000 * 60 * 60 * 24;

    var days = Math.floor(diff/day);
    var months = Math.floor(days/31);
    var years = Math.floor(months/12);
    
    var message = date2.toDateString();
    message += " was "
    message += days + " days " 
    message += months + " months "
    message += years + " years ago \n"
    
    return message
    }
        

a = calcDate(today,past)
console.log(a) // returns Tue Jun 01 2010 was 1143 days 36 months 3 years ago

Memanggil fungsi calcDate dengan dua objek Tarikh (cth., hari ini dan lalu) mengira perbezaan masa dalam milisaat dan membahagikannya dengan bilangan milisaat dalam sehari untuk mendapatkan bilangan hari. Hari kemudian dikumpulkan kepada bulan dan tahun sebagai anggaran.

Kaedah ini menyediakan anggaran asas perbezaan tarikh dari segi hari, bulan dan tahun, tetapi ia tidak mengambil kira semua selok-belok kalendar Gregorian . Untuk pengiraan yang lebih tepat atau keperluan khusus, pertimbangkan untuk menggunakan perpustakaan atau modul khusus yang mengendalikan kerumitan ini dengan lebih tepat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Anggaran Perbezaan Antara Dua Tarikh dalam Tahun, Bulan dan Hari Menggunakan 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