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!