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