eyecatch php

PHP WordPress

【PHP】RSSの日付(「pubDate」とか「dc:date」)をPHPでフォーマットし直す方法

2013/09/10

PHPでRSSファイルを読み込み、表示するという処理をする時、RSSにある日時情報(「pubDate」とか「dc:date」)を、Y-m-d H:i:s 形式に置き換える方法です。

参考までに RSS を幾つか見ると、Rss2.0形式では以下のようになっていました。
このブログのRSSのいち部分。

[php] Sun, 01 Sep 2013 22:00:29 +0000 [/php]

ライブドアブログなどで配布されている、.rdf では、
[php]
2013-09-03T16:56:02+09:00
[/php]
という風になっています。

タイムゾーンの「+時間」が違うところが気になる所ですが、まぁそれはさておき、時刻文字列を変換する場合は strtotime関数 を使うのですが、その前にこちらのポストを見て、タイムゾーンの設定をしておきましょう。

php.iniのタイムゾーン指定 | Wataame Frog

ということで、記述方法。

[php]
$rssDate = 'Sun, 01 Sep 2013 22:00:29 +0000';
$myDate = date("Y-m-d H:i:s", strtotime($rssDate));

echo $myDate;
[/php]

これで、2013-09-03 07:00:16 の様に変換されます。

-PHP, WordPress
-, ,