Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengira Perbezaan Antara Dua Tarikh dalam Tahun, Bulan dan Hari Menggunakan JavaScript?
Mengira Perbezaan Tarikh dalam Tahun, Bulan dan Hari dalam JavaScript
Dalam JavaScript, mendapatkan perbezaan antara dua tarikh dengan ketepatan boleh mencabar disebabkan oleh variasi dalam panjang bulan dan tahun lompat. Walau bagaimanapun, jika ketepatan asas boleh diterima, kaedah pengiraan mudah boleh digunakan.
Fungsi Pengiraan Tarikh
Fungsi untuk mengira dan memformatkan perbezaan tarikh:
function calcDate(date1, date2) { const diff = date1.getTime() - date2.getTime(); const day = 1000 * 60 * 60 * 24; const days = Math.floor(diff / day); const months = Math.floor(days / 31); const years = Math.floor(months / 12); return `${date2.toDateString()} was \ ${days} days, ${months} months, ${years} years ago`; }
Contoh Penggunaan
const today = new Date(); const past = new Date(2010, 5, 1); // Note: Month values are zero-based, so June is 5 console.log(calcDate(today, past)); // Outputs: "Tue Jun 01 2010 was 1143 days, 36 months, 3 years ago"
Tafsiran Output
Perhatikan bahawa ini pengiraan tidak mengambil kira tahun lompat atau bilangan hari yang tepat dalam setiap bulan. Pendekatan yang dipermudahkan ini memberikan anggaran kasar perbezaan untuk kebanyakan kes penggunaan praktikal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Perbezaan Antara Dua Tarikh dalam Tahun, Bulan dan Hari Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!