Hi,
ich habe einen kleinen script geschrieben, der das Datum in 8 Monaten abzüglich einem Tag anzeigen soll. Dabei liefert der script bis zu einem Tagesdatum von "28" korrekte Ausgaben:
01.09.2019 -> 30.04.2020
01.07.2019 -> 29.02.2020
15.08.2019 -> 14.04.2020
15.02.2019 -> 14.10.2019
28.02.2019 -> 27.10.2019
28.06.2019 -> 27.02.2019
Aber ab einem Tagesdatum von "29" fangen die Probleme an:
29.02.2019 -> 31.10.2019 (richtig wäre 30.10.2019)
30.09.2019 -> 29.05.2020 (richtig wäre 30.05.2019)
30.06.2019 -> 29.02.2019 (richtig wäre 28.02.2019)
Ändert man den Wert von 8 Monate auf 7 Monate:
31.07.2019 -> 01.03.2020 (richtig wäre 29.02.2020)
Weiß jemand, wie man das Problem beheben könnte, oder gibt es evtl. einen fertigen script? Hoffe ihr könnt mir weiterhelfen. Hier der sript:
Vielen Dank im voraus
ich habe einen kleinen script geschrieben, der das Datum in 8 Monaten abzüglich einem Tag anzeigen soll. Dabei liefert der script bis zu einem Tagesdatum von "28" korrekte Ausgaben:
01.09.2019 -> 30.04.2020
01.07.2019 -> 29.02.2020
15.08.2019 -> 14.04.2020
15.02.2019 -> 14.10.2019
28.02.2019 -> 27.10.2019
28.06.2019 -> 27.02.2019
Aber ab einem Tagesdatum von "29" fangen die Probleme an:
29.02.2019 -> 31.10.2019 (richtig wäre 30.10.2019)
30.09.2019 -> 29.05.2020 (richtig wäre 30.05.2019)
30.06.2019 -> 29.02.2019 (richtig wäre 28.02.2019)
Ändert man den Wert von 8 Monate auf 7 Monate:
31.07.2019 -> 01.03.2020 (richtig wäre 29.02.2020)
Weiß jemand, wie man das Problem beheben könnte, oder gibt es evtl. einen fertigen script? Hoffe ihr könnt mir weiterhelfen. Hier der sript:
PHP-Code:
<?php
$datum="31.09.2019";
$dat1=explode (".",$datum);
$date = date_create($dat1[2]."-".$dat1[1]."-".$dat1[0]);
date_add($date, date_interval_create_from_date_string("8 months"));
$dat2=date_format($date, 'Y-m-d');
$dat3 = date_create(date($dat2));
$dat4 = date_sub($dat3, date_interval_create_from_date_string("1 days"));
$dat5 = date_format($dat4, "d.m.Y");
echo $dat5;
?
Vielen Dank im voraus
Kommentar