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.
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.
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!