Heim >Datenbank >MySQL-Tutorial >Warum zeigt mein PHP-Code ein falsches ISO 8601-Datum an?

Warum zeigt mein PHP-Code ein falsches ISO 8601-Datum an?

Linda Hamilton
Linda HamiltonOriginal
2024-11-10 17:58:02853Durchsuche

Why is my PHP code displaying an incorrect ISO 8601 date?

Falsche ISO 8601-Datumsanzeige mit PHP

Beim Versuch, ein Datum/Uhrzeit als ISO 8601-formatierte Zeichenfolge anzuzeigen, kann es zu einer falschen Ausgabe kommen. Insbesondere werden Zeitstempel wie „17. Okt. 2008“ fälschlicherweise als „1969-12-31T18:33:28-06:00“ angezeigt.

Falsch identifiziertes Argument

Das Hauptproblem liegt in der Struktur des bereitgestellten Codes:

<?php echo date("c", $post[3]); ?>

Hier ist das zweite Argument der date()-Funktion $post[3], das eine Datenbank-Zeitstempelzeichenfolge darstellt. Allerdings erwartet die Funktion date() als zweites Argument einen UNIX-Zeitstempel.

Lösung: Datenbank-Zeitstempel konvertieren

Um dies zu korrigieren, müssen Sie Ihren Datenbank-Zeitstempel mithilfe von in einen UNIX-Zeitstempel konvertieren strtotime()-Funktion. Der korrigierte Code lautet:

<?php echo date("c", strtotime($post[3])); ?>

Durch die Einbindung dieser Änderung wird die korrekte ISO 8601-formatierte Zeichenfolge generiert, wodurch das Problem mit der falschen Anzeige behoben wird.

Das obige ist der detaillierte Inhalt vonWarum zeigt mein PHP-Code ein falsches ISO 8601-Datum an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn