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

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

Linda Hamilton
Lepaskan: 2024-12-02 12:53:16
asal
926 orang telah melayarinya

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

Menentukan Perbezaan Tarikh dalam Tahun, Bulan dan Hari dalam JavaScript

Menentukan perbezaan antara dua tarikh dalam tahun, bulan dan hari boleh mencabar dalam JavaScript disebabkan ketidakkonsistenan dalam penyelesaian yang hanya memberikan perbezaan dalam satu unit (tahun, bulan atau hari) atau ketidaktepatan dalam pengiraan.

Berikut ialah penyelesaian yang lebih komprehensif yang mengambil kira tahun biasa dan lompat serta perbezaan tepat dalam hari antara bulan:

today = new Date();
past = new Date(2010, 05, 01); // Equivalent to June 1, 2010

function calcDate(date1, date2) {
  // Calculate the difference in milliseconds
  var diff = Math.floor(date1.getTime() - date2.getTime());

  // Convert milliseconds to days
  var day = 1000 * 60 * 60 * 24;
  var days = Math.floor(diff / day);

  // Calculate months and years from days
  var months = Math.floor(days / 31);
  var years = Math.floor(months / 12);

  // Format the message
  var message = date2.toDateString();
  message += " was ";
  message += days + " days ";
  message += months + " months ";
  message += years + " years ago \n";

  return message;
}

console.log(calcDate(today, past));
// Output: Tue Jun 01 2010 was 1143 days 36 months 3 years ago
Salin selepas log masuk

Penyelesaian ini mengira perbezaan antara dua tarikh dengan menukar perbezaan dalam milisaat kepada hari, dan kemudian seterusnya memperoleh bulan dan tahun daripada jumlah hari.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Perbezaan Antara Dua Tarikh dalam Tahun, Bulan dan Hari Dengan Tepat Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan