„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich mit JavaScript die Differenz zwischen zwei Datumsangaben in Jahren, Monaten und Tagen genau berechnen?

Wie kann ich mit JavaScript die Differenz zwischen zwei Datumsangaben in Jahren, Monaten und Tagen genau berechnen?

Veröffentlicht am 11.12.2024
Durchsuche:785

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

Bestimmen von Datumsunterschieden in Jahren, Monaten und Tagen in JavaScript

Bestimmen der Differenz zwischen zwei Daten in Jahren, Monaten und Tagen kann in JavaScript aufgrund von Inkonsistenzen in Lösungen, die nur Unterschiede in einer Einheit (Jahre, Monate oder Tage) oder Ungenauigkeiten in bieten, eine Herausforderung darstellen Berechnungen.

Hier ist eine umfassendere Lösung, die gemeinsame Jahre und Schaltjahre sowie die genaue Differenz in Tagen zwischen Monaten berücksichtigt:

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

Diese Lösung berechnet die Differenz zwischen zwei Daten genau, indem sie die Differenz in Millisekunden in Tage umwandelt und dann die Monate und Jahre daraus weiter ableitet Gesamtzahl der Tage.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3