tag:forum.selfhtml.org,2005:/selfPHP 8.2 | strtotime - überholt – SELFHTML-Forum2023-05-25T11:05:47Zhttps://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809013#m1809013PHP-Laie2023-05-25T09:40:41Z2023-05-25T11:08:57ZPHP 8.2 | strtotime - überholt<p>Hallo,</p>
<p>beim Debuggen nach einem PHP Update ist mir gerade aufgefallen, das "strtotime" als DEPART angezeigt wird.
Auch in der Doku ( https://www.php.net/manual/de/function.strtotime.php ) bestätigt sich das Bild .</p>
<p>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.</p>
<p>Wie habt Ihr das gelöst?</p>
<hr>
<p>Edit von Rolf B - als Zusammenfassung des Threads:<br>
Dieses Posting ist ein Missverständnis, strtotime ist <strong>nicht</strong> missbilligt. Hier wurden strftime (das in der Tat auf der Abschussliste steht) und strtotime (das dort (noch?) nicht steht) verwechselt.</p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809018#m1809018TSts-self@online.dehttps://bitworks.de2023-05-25T10:04:53Z2023-05-25T10:04:53ZPHP 8.2 | strtotime - überholt<p>Hello,</p>
<p>danke für den Hinweis.</p>
<p>Da müssen also demnächst tausende von Skripten nachgebessert werden, wenn die Funktion beim Update ganz rausgefallen ist.</p>
<p>Glück Auf<br>
Tom vom Berg</p>
<div class="signature">-- <br>
Es gibt soviel Sonne, nutzen wir sie.<br>
<a href="https://www.Solar-Harz.de" rel="nofollow noopener noreferrer">www.Solar-Harz.de</a><br>
S☼nnige Grüße aus dem Oberharz
</div>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809020#m1809020Felix Riestererhttps://felix-riesterer.de2023-05-25T10:14:20Z2023-05-25T10:14:20ZPHP 8.2 | strtotime - überholt<p>Lieber PHP-Laie,</p>
<blockquote>
<p>das "strtotime" als DEPART angezeigt wird.</p>
</blockquote>
<p>was soll „DEPART“ genau bedeuten?</p>
<blockquote>
<p>Auch in der Doku ( <a href="https://www.php.net/manual/de/function.strtotime.php" rel="nofollow noopener noreferrer">https://www.php.net/manual/de/function.strtotime.php</a> ) bestätigt sich das Bild .</p>
</blockquote>
<p>Dort finde ich unter exakt diesem Link nicht ein einziges Mal das Wörtchen „depart“ (mit [STRG]+[F]). Was also genau erzählst Du hier? Sag doch bitte auch dazu, welche PHP-Version auf dem System im Einsatz ist, welche <code>strtotime</code> nicht mehr enthalten will.</p>
<blockquote>
<p>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.</p>
</blockquote>
<p>„Soll“... es scheint Dir anscheinend so und vielleicht am Ende gar - weiß man nicht so genau. Mach Dich mal wirklich schlau, was da los ist, anstatt hier nur halbgare Vermutungen zu äußern! Mein Test ergibt jedenfalls das hier: <a href="/images/d0b0dae8-fae4-11ed-8751-b42e9947ef30.png" rel="noopener noreferrer"><img src="/images/d0b0dae8-fae4-11ed-8751-b42e9947ef30.png?size=medium" alt="Konsole mit PHP-Ausgabe" title="strtotime() mit PHP8.1 auf der Konsole" loading="lazy"></a></p>
<p>Liebe Grüße</p>
<p>Felix Riesterer</p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809024#m1809024Felix Riestererhttps://felix-riesterer.de2023-05-25T10:19:17Z2023-05-25T10:19:17ZPHP 8.2 | strtotime - überholt<p>Lieber PHP-Laie,</p>
<p>auch mit PHP8.2 habe ich dieses Ergebnis: <a href="/images/98bbd4ca-fae5-11ed-925d-b42e9947ef30.png" rel="noopener noreferrer"><img src="/images/98bbd4ca-fae5-11ed-925d-b42e9947ef30.png?size=medium" alt="strtotime unter PHP8.2 auf der Konsole" title="strtotime unter PHP8.2 auf der Konsole" loading="lazy"></a></p>
<p>Liebe Grüße</p>
<p>Felix Riesterer</p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809047#m1809047Rolf B2023-05-25T11:05:47Z2023-05-25T11:11:20ZPHP 8.2 | strtotime - überholt<p>Hallo PHP-Laie,</p>
<p>das Problem ist ja geklärt und ich habe in den Eröffnungsbeitrag zum Thread eine kurze Notiz hineineditiert, damit man nicht den ganzen Thread lesen muss um das Missverständnis zu entdecken.</p>
<p>Aber eins wollte ich noch anmerken:</p>
<blockquote>
<p>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.</p>
</blockquote>
<p>Das war ein Einzeiler und kann auch einer bleiben. Es werden dann 30 Zeichen mehr, nicht 30 Zeilen. Wenn denn dann irgendwann mal die Deprecated-Axt auf strtotime herabstürzen sollte…</p>
<pre><code class="block language-php"><span class="token keyword">echo</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"2023-05-25"</span><span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\n"</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"05/25/2023"</span><span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\n"</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token function">strtotime</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"25.05.2023"</span><span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\n"</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token string double-quoted-string">"And now for something completely different!\n"</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">DateTimeImmutable</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"2023-05-25"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token operator">-></span><span class="token function">getTimestamp</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\n"</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">DateTimeImmutable</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"05/25/2023"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token operator">-></span><span class="token function">getTimestamp</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\n"</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">DateTimeImmutable</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"25.05.2023"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token operator">-></span><span class="token function">getTimestamp</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\n"</span><span class="token punctuation">;</span>
</code></pre>
<p>Jede Zeile gibt 1684972800 aus. Außer einer…</p>
<p>Das deprecatifizierte strftime ist wohl deswegen missbilligt, weil es keine einheitlichen Ergebnisse liefert, sondern von der Library abhängt, gegen die PHP gelinkt wurde.</p>
<p>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.</p>
<p>Insofern: strftime zu ersetzen kann Arbeit bedeuten, verlangt aber keinen Dreißigzeiler. Denk ich…</p>
<p><em>Rolf</em></p>
<div class="signature">-- <br>
sumpsi - posui - obstruxi
</div>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809019#m1809019Jörg2023-05-25T10:11:13Z2023-05-25T10:11:13ZPHP 8.2 | strtotime - überholt<blockquote>
<p>Da müssen also demnächst tausende von Skripten nachgebessert werden, wenn die Funktion beim Update ganz rausgefallen ist.</p>
</blockquote>
<p>Gerade mal nachgesehen:</p>
<pre><code class="block">"strtotime"
100+ matches in 21+ files
</code></pre>
<p>Ich freu mich </p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809021#m1809021Felix Riestererhttps://felix-riesterer.de2023-05-25T10:15:12Z2023-05-25T10:15:12ZPHP 8.2 | strtotime - überholt<p>Lieber TS,</p>
<blockquote>
<p>danke für den Hinweis.</p>
</blockquote>
<p>nein, ich danke nicht, ich überprüfe.</p>
<p>Liebe Grüße</p>
<p>Felix Riesterer</p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809022#m1809022Jörg2023-05-25T10:17:02Z2023-05-25T10:17:02ZPHP 8.2 | strtotime - überholt<blockquote>
<blockquote>
<p>Da müssen also demnächst tausende von Skripten nachgebessert werden, wenn die Funktion beim Update ganz rausgefallen ist.</p>
</blockquote>
<p>Gerade mal nachgesehen:</p>
<pre><code class="block">"strtotime"
100+ matches in 21+ files
</code></pre>
<p>Ich freu mich </p>
</blockquote>
<p>Allerdings kann ich bei meiner bisherigen Recherche die Ausgangsnachricht nicht verifizieren.</p>
<p>Wer kann mal Klarheit hier herein bringen?</p>
<p>Jörg</p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809023#m1809023Jörg2023-05-25T10:18:55Z2023-05-25T10:18:55ZPHP 8.2 | strtotime - überholt<blockquote>
<p>Mein Test ergibt jedenfalls das hier: <a href="/images/d0b0dae8-fae4-11ed-8751-b42e9947ef30.png" rel="noopener noreferrer"><img src="/images/d0b0dae8-fae4-11ed-8751-b42e9947ef30.png?size=medium" alt="Konsole mit PHP-Ausgabe" title="strtotime() mit PHP8.1 auf der Konsole" loading="lazy"></a></p>
</blockquote>
<p>Version 8.1.2<br>
Um die geht es dem To doch nicht, oder?</p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809028#m1809028PHP-Laie2023-05-25T10:25:34Z2023-05-25T10:25:34ZPHP 8.2 | strtotime - überholt<p><a href="/images/788e00be-fae6-11ed-b695-b42e9947ef30.png" rel="noopener noreferrer"><img src="/images/788e00be-fae6-11ed-b695-b42e9947ef30.png?size=medium" alt="" loading="lazy"></a></p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809029#m1809029TSts-self@online.dehttps://bitworks.de2023-05-25T10:25:47Z2023-05-25T10:31:21ZPHP 8.2 | strtotime - überholt<p>Hello lieber Felix,</p>
<blockquote>
<blockquote>
<p>danke für den Hinweis.</p>
</blockquote>
<p>nein, ich danke nicht, ich überprüfe.</p>
</blockquote>
<p>Du bist einfach super!</p>
<p>Vielleicht bezieht sich der PHP-Laie ja auf die Warnung:</p>
<p><a href="/images/7dbacd42-fae6-11ed-83b6-b42e9947ef30.png" rel="noopener noreferrer"><img src="/images/7dbacd42-fae6-11ed-83b6-b42e9947ef30.png?size=medium" alt="PHP Manual Warung" title="strtotime() ist nicht mehr zeitgemäß" loading="lazy"></a></p>
<p>Aber da ich auch die Tante gefragt habe, kam ich auf <code>strftime()</code> und <strong>nicht</strong> auf <code>strtotime()</code>.</p>
<p>Glück Auf<br>
Tom vom Berg</p>
<div class="signature">-- <br>
Es gibt soviel Sonne, nutzen wir sie.<br>
<a href="https://www.Solar-Harz.de" rel="nofollow noopener noreferrer">www.Solar-Harz.de</a><br>
S☼nnige Grüße aus dem Oberharz
</div>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809035#m1809035TSts-self@online.dehttps://bitworks.de2023-05-25T10:32:53Z2023-05-25T10:35:34ZPHP 8.2 | strtotime - überholt<p>Hello Jörg,</p>
<blockquote>
<blockquote>
<blockquote>
<p>Da müssen also demnächst tausende von Skripten nachgebessert werden, wenn die Funktion beim Update ganz rausgefallen ist.</p>
</blockquote>
<p>Gerade mal nachgesehen:</p>
<pre><code class="block">"strtotime"
100+ matches in 21+ files
</code></pre>
<p>Ich freu mich </p>
</blockquote>
<p>Allerdings kann ich bei meiner bisherigen Recherche die Ausgangsnachricht nicht verifizieren.</p>
<p>Wer kann mal Klarheit hier herein bringen?</p>
</blockquote>
<p><a href="https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809032#m1809032" rel="noopener noreferrer">Ich</a></p>
<p>Aber Arbeit könnte das trotzdem bedeuten :-(</p>
<p>Glück Auf<br>
Tom vom Berg</p>
<div class="signature">-- <br>
Es gibt soviel Sonne, nutzen wir sie.<br>
<a href="https://www.Solar-Harz.de" rel="nofollow noopener noreferrer">www.Solar-Harz.de</a><br>
S☼nnige Grüße aus dem Oberharz
</div>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809025#m1809025Felix Riestererhttps://felix-riesterer.de2023-05-25T10:20:38Z2023-05-25T10:20:38ZPHP 8.2 | strtotime - überholt<p>Lieber Jörg,</p>
<blockquote>
<p>Version 8.1.2<br>
Um die geht es dem To doch nicht, oder?</p>
</blockquote>
<p>Du hast natürlich wieder mal sehr gut aufgepasst und selbstverständlich recht. Daher <a href="https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809024#m1809024" rel="noopener noreferrer">habe ich bereits nachgeliefert</a>.</p>
<p>Liebe Grüße</p>
<p>Felix Riesterer</p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809026#m1809026PHP-Laie2023-05-25T10:23:23Z2023-05-25T10:23:23ZPHP 8.2 | strtotime - überholt<p>https://php.watch/versions/8.1/strftime-gmstrftime-deprecated</p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809027#m1809027Jörg2023-05-25T10:23:46Z2023-05-25T10:23:46ZPHP 8.2 | strtotime - überholt<p>Hallo Felix,</p>
<blockquote>
<p>Du hast natürlich wieder mal sehr gut aufgepasst und selbstverständlich recht. Daher <a href="https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809024#m1809024" rel="noopener noreferrer">habe ich bereits nachgeliefert</a>.</p>
</blockquote>
<p>Danke für deine schnelle Arbeit. </p>
<p>Jörg</p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809032#m1809032TSts-self@online.dehttps://bitworks.de2023-05-25T10:28:39Z2023-05-25T10:28:39ZPHP 8.2 | strtotime - überholt<p>Hello mein lieber PHP-Laie,</p>
<p>erst lesen, dann denken, dann posten ;-P</p>
<p>Das bezieht sich auf <code>strftime()</code> und nicht auf <code>strtotime()</code></p>
<blockquote>
<p><a href="https://php.watch/versions/8.1/strftime-gmstrftime-deprecated" rel="nofollow noopener noreferrer">PHP Watsch (sic!) zu strftime</a></p>
</blockquote>
<p>Glück Auf<br>
Tom vom Berg</p>
<div class="signature">-- <br>
Es gibt soviel Sonne, nutzen wir sie.<br>
<a href="https://www.Solar-Harz.de" rel="nofollow noopener noreferrer">www.Solar-Harz.de</a><br>
S☼nnige Grüße aus dem Oberharz
</div>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809033#m1809033Jörg2023-05-25T10:29:28Z2023-05-25T10:29:28ZPHP 8.2 | strtotime - überholt<blockquote>
<p><a href="/images/788e00be-fae6-11ed-b695-b42e9947ef30.png" rel="noopener noreferrer"><img src="/images/788e00be-fae6-11ed-b695-b42e9947ef30.png?size=medium" alt="" loading="lazy"></a></p>
</blockquote>
<p>strtotime != strftime</p>
https://forum.selfhtml.org/self/2023/may/25/php-8-2-strtotime-uberholt/1809036#m1809036PHP-Laie2023-05-25T10:33:32Z2023-05-25T10:33:32ZMist er hat recht....<p>Du hast vollkommen Recht, ich weiß nicht warum ich das nicht gesehen habe!? Ich muss ins Bett, da war die lezte Nacht wohl einfach zu kurz.</p>
<p>Entschuldigt bitte den Aufruhr...</p>
<p><a href="/images/96021846-fae7-11ed-a4a1-b42e9947ef30.gif" rel="noopener noreferrer"><img src="/images/96021846-fae7-11ed-a4a1-b42e9947ef30.gif?size=medium" alt="" loading="lazy"></a></p>