ホームページ >データベース >mysql チュートリアル >PHP を使用して ISO 8601 の日付を正しくフォーマットするにはどうすればよいですか?
PHP を使用して ISO 8601 で日付をフォーマットする
MySQL データベース内の日付が ISO で正しく表示されないという問題が発生しました。 8601フォーマット。具体的には、「17 Oct 2008」のような日付は「1969-12-31T18:33:28-06:00」と表示されます。
問題分析
日付の書式設定に使用しているコードは次のとおりです:
<?= date("c", $post[3]) ?>
ただし、date() 関数の 2 番目の引数は、データベースのタイムスタンプ文字列ではなく、UNIX タイムスタンプである必要があります。 UNIX タイムスタンプは、1970 年 1 月 1 日から経過した秒数を数値で表したものです。
解決策
これを修正するには、データベースを変換する必要があります。 strtotime() 関数を使用して、タイムスタンプを UNIX タイムスタンプに変換します。
<?= date("c", strtotime($post[3])) ?>
これにより、date() 関数が有効な UNIX タイムスタンプを受け取り、日付が ISO 8601 形式で正しくフォーマットされるようになります。
以上がPHP を使用して ISO 8601 の日付を正しくフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。