Antwort an „Joergi“ verfassen

Hallo zusammen,

ich habe ein Problem, die genaue Differenz zwischen zwei Daten in Jahr, Monat und Tag in javascript genau auszugeben. Der script

<script>
const tEarlier = new Date("2026-02-01");
const tLater = new Date("2026-05-01");
const tMillisecondsElapsed = tLater - tEarlier;

const tELapsed = new Date(tMillisecondsElapsed);
const year = tELapsed.getFullYear();
const elapsedYear = year - 1970;
tELapsed.setFullYear(elapsedYear);

let strDate = tELapsed.toISOString().slice(0, 10); //ISO date is yyyy-mm-dd
strDate = strDate.split("-");
strDate = `${strDate[1]}-${strDate[2]}-${strDate[0]}`;

alert(strDate);
</script>

gibt als Ergebnis 3 Monate und 31 Tage an. Der PHP script

<?php
$datum1 = new DateTime("2026-05-01");
$datum2 = new DateTime("2026-02-01");
$differenz = $datum1->diff($datum2);
echo $differenz->format('%y Jahre, %m Monate, %d Tage');
?>

zeigt hingegen als Ergebnis genau drei Monate an. Und das ist richtig. Wie kann ich javascript dazu bringen, Monate wie z.B. den Februar korrekt zu berechnen?

Vielen Dank im voraus für Eure Hilfe

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen