ホームページ >データベース >mysql チュートリアル >PHP を使用して ISO 8601 の日付を正しくフォーマットするにはどうすればよいですか?

PHP を使用して ISO 8601 の日付を正しくフォーマットするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-11 12:18:02701ブラウズ

How to Correctly Format Dates in ISO 8601 Using PHP?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。