ISO 8601 形式の文字列として日時を表示しようとすると、誤った出力が表示される可能性があります。具体的には、「17 Oct 2008」などのタイムスタンプが「1969-12-31T18:33:28-06:00」と誤って表示されます。
主な問題は構造にあります提供されたコードの:
<?php echo date("c", $post[3]); ?>
ここで、の 2 番目の引数date() 関数は $post[3] で、データベースのタイムスタンプ文字列を表します。ただし、date() 関数は 2 番目の引数として UNIX タイムスタンプを想定しています。
これを修正するには、 strtotime() 関数。修正されたコードは次のようになります。
<?php echo date("c", strtotime($post[3])); ?>
この変更を組み込むことにより、正しい ISO 8601 形式の文字列が生成され、正しく表示されない問題が解決されます。
以上が私の PHP コードで間違った ISO 8601 日付が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。