PHP 8.2 | strtotime - überholt
bearbeitet von
Hallo PHP-Laie,
das Problem ist ja geklärt, aber eins wollte ich noch anmerken:
> Ersatz soll: https://www.php.net/manual/de/class.datetimeimmutable.php sein. Von der ich (vermultich Blind) kein Anwendungsbeispiel finden konnte welches ohne 30 Codezeilen strtotime ersetzt.
Ja. Vermultich Blind 😉. Denn es war ein Einzeiler und kann auch einer bleiben. Wenn denn dann irgendwann mal die Deprecated-Axt auf strtotime herabstürzen sollte…
~~~php
echo strtotime("2023-05-25") . "\n";
echo strtotime("05/25/2023") . "\n";
echo strtotime("25.05.2023") . "\n";
echo "And now for something completely different!\n";
echo (new DateTimeImmutable("2023-05-25"))->getTimestamp() . "\n";
echo (new DateTimeImmutable("05/25/2023"))->getTimestamp() . "\n";
echo (new DateTimeImmutable("25.05.2023"))->getTimestamp() . "\n";
~~~
Jede Zeile gibt 1684972800 aus. Außer einer…
Das deprecatifizierte strftime ist wohl deswegen missbilligt, weil es keine einheitlichen Ergebnisse liefert, sondern von der Library abhängt, gegen die PHP gelinkt wurde.
Aber grundsätzlich hat ein DateTime-Objekt eine format-Methode, die ebenfalls ziemlich leistungsfähig ist, ohne dass man den (schlecht benannten) IntlDateFormatter dafür auspacken muss.
Insofern: strftime zu ersetzen kann Arbeit bedeuten, verlangt aber keinen Dreißigzeiler. Denk ich…
_Rolf_
--
sumpsi - posui - obstruxi