Heim >Web-Frontend >js-Tutorial >Wie kann ich mit JavaScript die Differenz zwischen zwei Datumsangaben in Jahren, Monaten und Tagen berechnen?

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

Barbara Streisand
Barbara StreisandOriginal
2024-12-01 04:29:09604Durchsuche

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

Datumsdifferenzen in Jahren, Monaten und Tagen in JavaScript berechnen

In JavaScript kann es schwierig sein, die Differenz zwischen zwei Datumsangaben genau zu ermitteln aufgrund unterschiedlicher Monatslängen und Schaltjahre. Wenn jedoch die Grundgenauigkeit akzeptabel ist, kann eine einfache Berechnungsmethode verwendet werden.

Datumsberechnungsfunktion

Funktion zum Berechnen und Formatieren der Datumsdifferenz:

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`;
}

Beispielverwendung

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"

Ausgabe Interpretation

  • Tage: Differenz in ganzen Tagen zwischen dem aktuellen Datum und dem vergangenen Datum.
  • Monate: Differenz in ganzen Monaten zwischen dem aktuellen Datum und dem vergangenen Datum, berechnet indem man die Tagesdifferenz durch die durchschnittliche Anzahl der Tage in einem Monat (31) dividiert.
  • Jahre: Differenz in ganzen Jahren zwischen dem aktuellen Datum und dem vergangenes Datum, berechnet durch Division der Monatsdifferenz durch 12.

Beachten Sie, dass bei dieser Berechnung weder Schaltjahre noch die genaue Anzahl der Tage in jedem Monat berücksichtigt werden. Dieser vereinfachte Ansatz liefert eine grobe Schätzung des Unterschieds für die meisten praktischen Anwendungsfälle.

Das obige ist der detaillierte Inhalt vonWie kann ich mit JavaScript die Differenz zwischen zwei Datumsangaben in Jahren, Monaten und Tagen berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn