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

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

Barbara Streisand
Barbara Streisandasal
2024-12-01 04:29:09596semak imbas

How Can I Calculate the Difference Between Two Dates in Years, Months, and Days Using 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

  • Hari: Perbezaan hari keseluruhan antara tarikh semasa dan tarikh lalu.
  • Bulan: Perbezaan sepanjang bulan antara tarikh semasa dan tarikh lalu, dikira dengan membahagikan perbezaan hari dengan purata bilangan hari dalam sebulan (31).
  • Tahun: Perbezaan sepanjang tahun antara tarikh semasa dan tarikh lalu, dikira dengan membahagikan perbezaan bulan dengan 12.

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!

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